Image显示控件属性之ZoomInteger&ZoomSingle
ZoomInteger和ZoomSingle用于控制图像的缩放倍率,我们称其为缩放因子(缩放系数)。两个属性都可以控制图像的缩放倍率,只是表现方法不一样罢了。ZoomInteger使用的是I32整数来表示倍率,因此其值是整数,而不能有小数倍率。当比原始1倍还要小(缩小时),则使用负数来表示。而ZoomSingle使用单精度浮点数SGL来表示,可以使用小数表示放大倍率。当图像放大时,因为其都是大于1的,所以在表现上是会一样的:
如图所示为放大5倍,这时整数表示法、和小数表示法其值都是5
缩小5倍(即为原图的1/5时)的表示效果
使用整数时,则为-5倍,而使用单精度小数量,则为0.2(1/5)倍。在这里就有所以区别了。
另外就是当使用适合窗口属性时,因为窗口可能并不一定正好满足图像的多少倍关系。因此整数和小数其数值上可能会有出入。
Zoom to Fit 时其整数和小数的值会不一样
使用整数时,为-4倍(0.25),而小数则为0.265(-3.77倍)。这里的整数倍率,是使用了四舍五入的办法就近取整后得到的值。
使用VBAI、视觉助手的同学应该都经常会用到其工具栏中的放大、缩小、1:1、适合窗口等四个按钮:
视觉助手和VBAI中的缩放工具
这四个按钮其实就是使用了ZoomInteger/ZoomSingle和Zoom to Fit,其实前三个按钮,都是使用缩放因子进行控制,放大是在现有的倍率上+1,缩放是在现有的基础上-1进行控制的。而1:1则是设置缩放因子为1即可满足。适合窗口则调用Zoom to Fit属性进行控制。因此我们在实际编程时,也可以使用这样的方法进行控制:
石鑫华出品的通用图像处理平台中的放大缩小原始尺寸与适合窗口功能
实际使用时,如果没有设计放大缩小原始尺寸等,也可以使用Image控件的ROI工具中的放大镜Zoom Tool进行图像的放大缩小操作:
使用Zoom工具操作图像
选择Zoom工具,然后将鼠标摆放到图像上变成一个放大镜的图标,中间为有一个+号时,则为放大图像。按住Shift键时,显示为一个-时,则为缩小图像。
而要设计缩放按钮时,则只需要对ZoomInteger或ZoomSingle进行赋值就可以了。