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

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
.sngWidth = .sngWidth * cmChangeSize

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

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

Private Sub Form_Load()
With muPreviewSize
.intZoon = 0
'// + 0.5 为Image的边框
.sngHeight = imgPreview.Height + 0.5
.sngWidth = imgPreview.Width + 0.5
.sngLeft = imgPreview.Left
.sngTop = imgPreview.Top
End With
End Sub
温馨提示:内容为网友见解,仅供参考
第1个回答  2006-08-31
用image(strenth设为flase)就可以了,把图片装入后重新按比例计算并设定(strenth=true)image的大小
第2个回答  2006-08-31
loadpicture是调用图片,并不能控制它的大小
第3个回答  2006-08-31
VB控件无此功能.

VB里怎样在image或picture控件内按比例缩小显示图片
image控件srtetch属性会使图片变形,picture控件的AutoRedraw和AutoSize不能按控件大小缩小图片,用loadpicture函数可以显示固定尺寸的图片吗?解析:可以用代码实现。以下代码是我原来做过的实例里剪出来的,你可以参考一下,imgPreview 为Image对象。Private Type PreviewSize sngLeft As Single sngTop As Singl...

vb image picture 如何按比例改变图片的大小
在窗体上放两个PictureBox控件Picture1和Picture2,通过Picture1的Picture属性为Picture1加载一幅图片,并且将Picture1的AutoSize属性设为True,这样Picture1的大小就和加载的图形大小相同了,便于比较缩放后的效果。现在我们将Picture1的图片缩小成刚好和Picture2控件的大小一样,代码如下:Dim x1 As Integer ...

vb 如何放大或缩小图片,用Picture控件
双击图片框 代码如下:picture1.picture=loadpicture("图片路径")picture1.autosize=Ture

vb 如何放大或缩小图片,用Picture控件
把下面的500,600改为你想要的值,即可改变大小,记住要把picture的autosize设为true Private Sub Command1_Click()With LoadPicture(File1.Path & "\\" & File1.FileName).Render Picture1.hDC, 0, 0, 500, 600, 0, .Height, .Width, -.Height, 0 End With End Sub ...

vb中如何让图片在图片控件中宽高同比缩放
Microsoft Forms 2.0 Object Library 控件组中的image控件可约束宽高比缩放。设置PictureSizeMode 属性。

vb中如何根据PictureBox的大小自动调整相片
添加两个Picture控件,先载入Picture2,然后根据Picture1的大小自动调整显示。代码如下:Private Sub Form_Load() Picture1.AutoRedraw = True '重绘图片 Picture1.AutoSize = False '图片框大小不变 Picture1.Visible = True 'Picture1.BackColor = RGB(255, 255, 255) '设置图片框...

VB怎么根据分辨率自动调整图片大小
image控件有一个stretch属性,设置为True,就可以根据分辨率自动调整图片大小,picturebox控件需要代码实现

VB中picturebox图怎么样随窗体大小变化
可以使用Image控件,将其属性Stretch设为True,调整其大小,图片自动调节。

用VB做图片浏览器中如何让IMAGE自动扩大和缩小
将image的Serecth属性,设置为True。image1.height=image1.height+100 image1.width=image1.width+100 可以放大,把+改为-可以缩小。数值可以自己设置。

求用vb编程,实现图片的缩小和放大的程序
粗劣的做了下~最简单的就是用image控件 先将Image1的Stretch 属性设置为 True Private Sub Command1_Click()Static a As Integer Static b As Integer a = a + 1 b = b + 1 Image1.Height = Image1.Height * a Image1.Width = Image1.Width * b End Sub ...

相似回答