- UID
- 1
- 精华
- 244
- 积分
- 75929
- 威望
- 743 点
- 宅币
- 24239 个
- 贡献
- 46222 次
- 宅之契约
- 0 份
- 最后登录
- 2024-4-23
- 在线时间
- 2297 小时
- QQ
用户组: 管理员
一只技术宅
- UID
- 1
- 精华
- 244
- 威望
- 743 点
- 宅币
- 24239 个
- 贡献
- 46222 次
- 宅之契约
- 0 份
- 在线时间
- 2297 小时
- 注册时间
- 2014-1-26
|
用过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) |
|