VB里怎样在image或picture控件内按比例缩小显示图片

来源:百度知道 编辑:UC知道 时间:2024/05/18 00:30:19
image控件srtetch属性会使图片变形,picture控件的AutoRedraw和AutoSize不能按控件大小缩小图片,用loadpicture函数可以显示固定尺寸的图片吗?

可以用代码实现。
以下代码是我原来做过的实例里剪出来的,你可以参考一下,imgPreview 为Image对象。

Private Type PreviewSize
sngLeft As Single
sngTop As Single
sngWidth As Single
sngHeight As Single
intZoon As Integer
End Type

Private muPreviewSize As PreviewSize
Private Const cmChangeSize = 1.2

'// 缩小
Private Sub Command1_Click()
With muPreviewSize
.intZoon = .intZoon - 1
.sngHeight = .sngHeight / cmChangeSize
.sngWidth = .sngWidth / cmChangeSize

imgPreview.Stretch = True
imgPreview.Move .sngLeft, .sngTop, .sngWidth, .sngHeight

'// 如果已经缩小了9倍则缩小按钮不可用
If .intZoon < -9 Then
Command1.Enabled = False
Command2.Enabled = True
Else
Command2.Enabled = True
End If
End With
End Sub

'// 放大
Private Sub Command2_Click()
With muPreviewSize
.intZoon = .intZoon + 1
.sngHeight = .sngHeight * cmChangeSize