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

}

}

相关推荐
btcSteven几秒前
给浏览器装了个「AI 操作员」:纯聊天帮你完成任何任务
前端
高晶1 分钟前
一种小功率锂电池组充电器方案
前端·架构
deli0071 分钟前
AI 说写完了怎么知道它没骗你?16 项交付证据清单,我用码道做成一键核对页
前端
zReadonly3 分钟前
不用反复 nvm use 了:nvm-windows 2.x 按项目自动切换 Node.js
前端·node.js
汉堡大王95277 分钟前
GPT-6 上线 48 小时,我扒开了 Intelligent UI 的运行机制:DIL、沙箱 Worker 和一个 React 式协调器
前端·javascript·后端
hai_android10 分钟前
Chat 聊天模块功能总结
前端·javascript·vue.js
额额额对了12 分钟前
嵌入式 Linux 启动程序文件
开发语言·嵌入式硬件·php
子非鱼a16 分钟前
【WEB】EasySSTI
java·开发语言·前端
奈葵22 分钟前
Python
开发语言·python
Nebula_g37 分钟前
JavaSE项目实践:红包雨-线程池/线程
java·开发语言