Trevan
管理员
管理员
  • 最后登录2017-02-22
  • 发帖数989
  • 金币17621枚
  • 贡献勋章5枚
阅读:10557回复:21

halcon图片自适应窗口大小显示

楼主#
更多 发布于:2013-11-24 10:06
各位朋友好!
请教大家一个问题:
halcon程序导出代码后(vb.net),我使用HWindowControl1 控件显示图像,HWindowControl1控件的大小为640×480,;我的图片大小是1280×960 的,我需要图片能够等比例缩放显示在HWindowControl1控件里面。
 
在vb.net里面我知道通过设置HWindowControl1的ImagePart属性就可以实现这个功能;
       ImagePart 的Height设置成我的图片Height;960
       ImagePart 的Width设置成我的图片Width;1280


  但在实际使用中碰到一个问题,我的图片大小尺寸会发生变化,1280× 960 , 1600× 1200等尺寸会来回切换;
我本想使用当图片尺寸大小变化时通过修改HWindowControl1的 ImagePart 的参数来实现自适应显示(HWindowControlOne.ImagePart.Height = ImageHeight)。但是这个参数通过代码是无法修改的,提示:“表达式是一个值,无法作为赋值目标”。


请教大家有没有其他的方式或者通过halcon代码里面能够实现我想要的功能,谢谢!
捐助网站请点击 http://www.ihalcon.com/read-6416.html
wanglu9566
高级工程师
高级工程师
  • 最后登录2016-10-21
  • 发帖数25
  • 金币1525枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
沙发#
发布于:2013-11-24 10:11
vb.net不大懂
vc中是get_image_size、set_part、zoom_image组合使用就可解决
Trevan
管理员
管理员
  • 最后登录2017-02-22
  • 发帖数989
  • 金币17621枚
  • 贡献勋章5枚
板凳#
发布于:2013-11-24 10:17
wanglu9566:vb.net不大懂
vc中是get_image_size、set_part、zoom_image组合使用就可解决
回到原帖
感谢你的回复! 你说的是halcon里面吧,我试试。
捐助网站请点击 http://www.ihalcon.com/read-6416.html
gdsdyl
助理工程师
助理工程师
  • 最后登录2017-02-17
  • 发帖数17
  • 金币295枚
  • 贡献勋章0枚
  • 社区居民
地板#
发布于:2013-11-24 10:48
老是看你们的,我回复一次好了。
在VC中我这这样处理的:
HTuple Pointer, type, Width, Height;
 get_image_pointer1(Image, &Pointer, &type, &Width, &Height);
 set_part(WindowHandle, 0, 0, Height, Width);
 disp_obj(Image,  WindowHandle);
hhalcon
初学者
初学者
  • 最后登录2016-10-14
  • 发帖数5
  • 金币36枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
4楼#
发布于:2013-11-24 13:34
c#里我是这样解决图片自适应HWindowControl1 大小的
HOperatorSet.SetPart(HalconWindow, 0, 0, CameraImageShow.Height[0] - 1, CameraImageShow.Width[0] - 1);
但是这会引出第二个问题,当HWindowControl1 控件的大小固定,不同分辨率的图片就会和HWindowControl1 不成比例,拉宽或者变窄,它不能向picturebox控件有个属性SizeMode能设置成Zoom,让picturebox自动匹配图片的宽高比。
pan166
助理工程师
助理工程师
  • 最后登录2016-10-13
  • 发帖数8
  • 金币276枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
5楼#
发布于:2013-11-24 15:12
set_part(HalconWindow,-1,-1,-1,-1);
或者set_part(HalconWindow,1,1,-1,-1);
Trevan
管理员
管理员
  • 最后登录2017-02-22
  • 发帖数989
  • 金币17621枚
  • 贡献勋章5枚
6楼#
发布于:2013-11-24 20:43
谢谢各位的回复,解决代码如下:


 dev_update_window ('off')
 dev_close_window ()
 
* Code generated by Image Acquisition 01
read_image (Image, 'I:/TestImage/squalidity/bmp/5.bmp')

zoom_image_size (Image, ImageZoom, 640, 480, 'constant')

get_image_size (ImageZoom, Width, Height)

dev_open_window (0, 0, Width, Height, 'black', WindowHandle)

dev_display (ImageZoom)
捐助网站请点击 http://www.ihalcon.com/read-6416.html
zouleictgu
助理工程师
助理工程师
  • 最后登录2017-02-13
  • 发帖数30
  • 金币530枚
  • 贡献勋章0枚
  • 社区居民
7楼#
发布于:2013-11-24 20:44
http://www.ihalcon.com/read-325.html,这是我之前发的帖子,不过是VC++的,希望对你有用!
Trevan
管理员
管理员
  • 最后登录2017-02-22
  • 发帖数989
  • 金币17621枚
  • 贡献勋章5枚
8楼#
发布于:2013-11-24 21:56
我在此补充一点,其实在vb.net添加一条代码:HOperatorSet.SetPart(hv_ExpDefaultWinHandle, 0, 0, 1200, 1600) 就搞定了。
捐助网站请点击 http://www.ihalcon.com/read-6416.html
mushishi
初学者
初学者
  • 最后登录2014-03-10
  • 发帖数17
  • 金币80枚
  • 贡献勋章0枚
  • 社区居民
9楼#
发布于:2014-02-10 15:10
Trevan:我在此补充一点,其实在vb.net添加一条代码:HOperatorSet.SetPart(hv_ExpDefaultWinHandle, 0, 0, 1200, 1600) 就搞定了。回到原帖
有个问题是  图片不能填充HWindowControl1 控件的全部呀。
707453535
初学者
初学者
  • 最后登录2016-01-30
  • 发帖数6
  • 金币51枚
  • 贡献勋章0枚
  • 社区居民
10楼#
发布于:2014-02-12 14:35
.NET 里面有setFullImage这个函数吧
yaoquanjun
工程师
工程师
  • 最后登录2016-10-10
  • 发帖数112
  • 金币754枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
11楼#
发布于:2014-07-23 08:09
图片不能填充HWindowControl1 控件的全部
fz0423
初学者
初学者
  • 最后登录2017-01-03
  • 发帖数12
  • 金币66枚
  • 贡献勋章0枚
  • 社区居民
12楼#
发布于:2015-08-24 19:52
open 与set_part里面的长宽一致都写成你要处理图片的大小就行了
导出代码用halcon控件
此方法只是适合处理固定大小的图片
read_image (Image, 'C:/Users/fz/Desktop/(0091810711)002.bmp')
dev_open_window (0, 0, 1392, 1040, 'black', WindowHandle)
dev_set_part (0, 0, 1392, 1040)
dev_display (ImageEmphasize)
tystq
工程师
工程师
  • 最后登录2017-02-07
  • 发帖数112
  • 金币658枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
13楼#
发布于:2015-11-23 20:07
Me.HWindowControl1.ImagePart = New Rectangle(0, 0, 640, 480)
Me.HWindowControl1.Size = New Size(640, 480)
看明白了没有,ImagePart是可以重构的
moxixuan
助理工程师
助理工程师
  • 最后登录2017-02-08
  • 发帖数78
  • 金币598枚
  • 贡献勋章0枚
  • 社区居民
  • 忠实会员
14楼#
发布于:2016-01-28 14:41
xuexiyixia
上一页
游客

返回顶部