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);

}

}

相关推荐
zzzzzz3101 分钟前
react-bits:把酷炫动效从“灵感截图”变成可复用的 React 组件
javascript·react.js·动效
jay神1 小时前
【计算机毕业设计】基于Flask+Vue的电影数据可视化与智能推荐系统
前端·vue.js·python·信息可视化·flask·毕业设计·课程设计
Chester_19997 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
FreeTinker7 小时前
HTML本地存储技术解析:localStorage与sessionStorage的原理、差异与应用场景
前端·html
qq_452396237 小时前
第十二篇:《全链路监控与可观测性:前端错误追踪与性能分析》
前端
海兰8 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
EXI-小洲8 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
wangruofeng8 小时前
Phosphor Icons 官网源码拆解:URL 即存储、水波动画与 7362 Star 图标库的架构实践
前端·架构·github
BigTopOne8 小时前
WebRTC Native / Android 开发学习资源整理
前端
会周易的程序员8 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm