在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
《zw版·delphi与Halcon系列原创教程》THOperatorSetX版hello,zw 下面介绍v3版的hello,zw。 我们已经学过THImagex控件,现在介绍如何使用THOperatorSetX控件,编写:hello,zw
1 procedure hello_zw03(); 2 var 3 xset:THOperatorSetX; 4 img,img2:IHUntypedObjectX; 5 w,h:OleVariant; 6 begin 7 xset:=THOperatorSetX.create(nil); 8 with mwin do begin 9 xset.readImage (img, 'tmp\hello_zw24.png'); 10 xset.getImageSize (img, w, h); 11 12 xset.Rgb1ToGray(img,img2); 13 xset.writeImage(img2,'png',0,'tmp\hello_zw30.png') 14 end; 15 FreeAndNil(xset); 16 //FreeAndNil(img);FreeAndNil(img2); 无法释放img的内存 17 //img.Dispose();//c# 有Dispose释放方法,delphi版没有 18 end; 因为是v3版本的hello了,所以做了些增强。 【源码说明】 第10行,xset.getImageSize (img, w, h); 获取图像宽度w、高度h注意,变量w、h,必须是 OleVariant类型,Variant、integer都不行。 第12行,xset.Rgb1ToGray(img,img2); 图像变换,转换我灰度图 第16,17行,释放img变量所占内存,出错,很奇怪,所以用注释 16 //FreeAndNil(img);FreeAndNil(img2); 无法释放img的内存 17 //img.Dispose();//c# 有Dispose释放方法,delphi版没有 c、c#版图像控件有.Dispose方法,释放内存,delphi版没有, 奇怪,难道是自动释放,或者这个是delphi版内存泄露的罪魁祸首 有时间,用专业的内存分析软件,检测一下 |
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论