请问VB内使用Image或者Picture,打开窗体时图片按本身比例缩放,如下
这是image的stretch为真的时候,这样会缩放,但不是按图片的本身来缩放了这是image的stretch为假的时候,这样就按图片本身来缩放了,理想的效果是这样,在规...
这是image的stretch为真的时候,这样会缩放,但不是按图片的本身来缩放了
这是image的stretch为假的时候,这样就按图片本身来缩放了,
理想的效果是这样,在规定宽6000高4000的规定内,就是图片的长度要是10000会自动缩放到6000,图片的高要是8000会自动缩放到4000,且高和宽是同时按原本比例缩放的.缩放后宽或者高不够有空白的地方这都无所谓,关键是图片按原本的比例来缩放就可以了,不要变形就好,请高手帮忙了
比如,A图为实际大小,在B图规定的方框内按比率全部显示出来,C图小于方框便在方框内居中对其显示,请高手帮忙了 展开
这是image的stretch为假的时候,这样就按图片本身来缩放了,
理想的效果是这样,在规定宽6000高4000的规定内,就是图片的长度要是10000会自动缩放到6000,图片的高要是8000会自动缩放到4000,且高和宽是同时按原本比例缩放的.缩放后宽或者高不够有空白的地方这都无所谓,关键是图片按原本的比例来缩放就可以了,不要变形就好,请高手帮忙了
比如,A图为实际大小,在B图规定的方框内按比率全部显示出来,C图小于方框便在方框内居中对其显示,请高手帮忙了 展开
展开全部
如果用Image控件,需要改变Image控件的位置和大小。
以下是用Picture1缩放图片的代码:
Set sp = LoadPicture("E:\a.jpg") '加载图片
w0 = Round(sp.Width / 2540 * 1440) '图片宽度(单位twip)
h0 = Round(sp.Height / 2540 * 1440) '图片高度(单位twip)
With Picture1
.ScaleMode = 1 '坐标单位twip
.AutoRedraw = True
If w0 < .ScaleWidth And h0 < .ScaleHeight Then '图片小于Picture1
.PaintPicture sp, (.ScaleWidth - w0) / 2, (.ScaleHeight - h0) / 2 '图片居中
Else
If w0 / h0 > .ScaleWidth / .ScaleHeight Then '上下留空白
w1 = .ScaleWidth
h1 = h0 * w1 / w0
Else '左右留空白
h1 = .ScaleHeight
w1 = w0 * h1 / h0
End If
'显示缩放的图片
.PaintPicture sp, (.ScaleWidth - w1) / 2, (.ScaleHeight - h1) / 2, w1, h1
End If
End With
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询