0xAA55 发表于 2014-2-21 19:30:12

【VB】如何获取Picture的真实像素尺寸

用过VB的也许会发现一个问题,当你用LoadPicture载入一个图片文件的时候,你会得到一个Picture对象。
但是要从Picture.Width和Picture.Height这里取得图像的尺寸的时候就会发现一个问题,单位好像不是像素。
没错,单位其实是Himetric,1个Himetric单位相当于10μm(这么奇葩的单位都没有中文名!)
转换为像素单位的方法很简单,用ScaleX函数或ScaleY函数(From窗体、PictureBox控件等的成员函数)就可以实现转换。
假设我载入了窗体的背景图片:
Me.Picture = LoadPicture("D:\123.BMP")
然后我要取得Me.Picture的像素单位的宽和高,我这样取:
Dim 图片宽度 As Long, 图片高度 As Long
图片宽度 = Me.ScaleX(Me.Picture.Width, vbHimetric, vbPixels)
图片高度 = Me.ScaleY(Me.Picture.Height, vbHimetric, vbPixels)

0xAA55 发表于 2014-2-22 22:58:52

就可以得到以像素为单位的图片尺寸了。
页: [1]
查看完整版本: 【VB】如何获取Picture的真实像素尺寸