上面显示的三个尺寸: 图片框宽度,图片框内部宽度(不含边框),还有一个特殊的图片框内图片的宽度。
发现一个问题: 图片尺寸大于图片框,但是,,图片去没有占满图片框,这是什么原因呢?
水平反转一下图片,可以看到这个问题将困惑我们:
图片明显放大了,原因就出在上面所说的尺寸问题上。
百度N久没有结果。一次一次的查MSDN,终于找到一个东西:
- Picture 对象-以 HiMetric 为单位的图片的高度和宽度。
于是后面的数值5477就好解释了。它是以HiMetric为单位进行显示的,而不是我们一般默认的Twips(缇 )进行显示的。
因为看起来这个数值要大于前面3915等数据,实际并不大。
那么我们只须要把这个HiMetic进行转换到Twips上就可以定位进行显示了。
用语句:
object.ScaleX (width,fromscale,toscale)
object.ScaleY (height,toscale)
返回值:最终单位的数据width,height是要被转换的数值
fromScale 源模式 ToScale目的模式。即从源模式转换成目的模式。上面就应该是把vbHiMetric转换成vbTwips
Option Explicit Private Sub Command1_Click() Dim xWidth As Integer Text1.Text = Picture1.Width & "," & Picture1.ScaleWidth & "," & Picture1.Picture.Width xWidth = Picture1.ScaleX(Picture1.Picture.Width,vbHimetric,vbTwips) Picture1.PaintPicture Picture1,xWidth,-xWidth End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。