高分 请高人解答 VB Form.Picture.Width 的 疑问

来源:百度知道 编辑:UC知道 时间:2024/05/12 15:45:35
VB 6.0

窗体 的 Picture 属性

举例说明
显示器当前显示设置 1152×864

Private Sub Form_Load()
Me.ScaleMode = Pixel
Me.Picture = LoadPicture("c:\600_600.bmp")'600×600的位图
End Sub

这时候 属性 Form.Picture.Width 的值 是 15875

Form.Picture.Width \ Screen.Screen.TwipsPerPixelX 的值 是 1058

Form.Picture.Width 这个值
既不是装入的图片的宽度 600 ,也不是窗体客户区的宽度

到底代表的是哪里的宽度,和窗体上装入的图片的宽度是什么关系

SavePicture Me.Picture, "c:\1.bmp" 时保存的图片宽度是原始图片的宽度600

窗体上装入的图片的宽度从哪里可以获取

请高人解答, 不胜感激!!!
谢谢楼下的回答!

不过我问的是 窗体 Picture 属性 的 Width 值
不是图片框

没装入图片时 Width 值 是 0
装入大小不同的图片时 Width 值 是 不一样的

Width 值 和图片 的 宽度 之间 是什么关系,如何换算?

Debug.Print "图片的实际宽度为:" & a.Width / 26.45836 ,这里 26.45836 是什么值,从何而来?

一、
Form.Picture.Width 这个值是整个图片框的宽度;
Form.Picture.ScaleWidth 这个值是图片框的可显示区域的宽度;
上述属性只与图片框控件有关,而与图片的实际宽度无关。
二、要想获取图片的实际宽度,可这样处理:
Dim a As StdPicture
Set a = LoadPicture("C:\1.jpg")
Debug.Print "图片的实际宽度为:" & a.Width / 26.45836