Halcon联合编程适应图像的方法(picture)

public void FitSize(string path)

{

HObject ho_Image;// 定义图片

HTuple hv_width, hv_height = null;//定义图片大小

HTuple win_Row, win_Column, win_Width, win_height = null; //窗口的坐标和宽度和高度

HTuple cwin_Width, cwinHeight = null; // 计算出来展示的区域

// 读取图片

HOperatorSet.ReadImage(out ho_Image, path);

//获取图像大小

HOperatorSet.GetImageSize(ho_Image, out hv_width, out hv_height);

HOperatorSet.GetWindowExtents(win_handle, out win_Row, out win_Column, out win_Width, out win_height);//获取窗口的大小

//计算展示的高度 a = c/d * b

cwinHeight = 1.0 * win_height / win_Width * hv_width; // 宽度不变计算高度

if (cwinHeight > hv_height) //上下留相等黑边

{

cwinHeight = 1.0 * (cwinHeight - hv_height) / 2;

//展示图像哪一部分 坐标原点在图像的左上角

HOperatorSet.SetPart(win_handle, -cwinHeight, 0, cwinHeight + hv_height, hv_width);

HOperatorSet.DispObj(ho_Image, win_handle);

}

else // 高度不变 宽度自适应

{

cwin_Width = 1.0 * win_Width / win_height * hv_height;

cwin_Width = 1.0 * (cwin_Width - hv_width) / 2;

HOperatorSet.SetPart(win_handle, 0, -cwin_Width, hv_height, hv_width + cwin_Width);

HOperatorSet.DispObj(ho_Image, win_handle);

}

}

相关推荐
束尘2 小时前
Vue3一键复制图片到剪贴板
开发语言·javascript·vue.js
老王熬夜敲代码2 小时前
LangGraph的状态
开发语言·langchain
2401_827499992 小时前
python核心语法03-数据存储容器
开发语言·python
木斯佳2 小时前
前端八股文面经大全:字节跳动前端一面·深度解析(Plus Ultra版)(2026-03-30)·面经深度解析
前端·设计模式·八股·光栅化
AC赳赳老秦2 小时前
自媒体博主:OpenClaw多Agent协同,实现选题-创作-审核全流程自动化
运维·服务器·开发语言·人工智能·自动化·媒体·openclaw
酉鬼女又兒2 小时前
零基础快速入门前端DOM 节点操作核心知识点及蓝桥杯 Web 应用开发考点解析(可用于备赛蓝桥杯Web应用开发)
开发语言·前端·javascript·职场和发展·蓝桥杯
LXXgalaxy2 小时前
Vue3 + TypeScript 组件开发速查表新手速成手册
前端·javascript·typescript
chushiyunen2 小时前
python异常模拟工具类(异常生成工具类)
开发语言·python
AnalogElectronic2 小时前
uniapp学习6,滚动字幕播报
javascript·学习·uni-app