回 帖 发 新 帖 刷新版面

主题:如何使图片按picturesbox的大小来显示

我要用picturesbox显示图像,但是图片太大了,picturebox只能显示其左上角的部分。
用autosize属性也只是让控件改变大小。
不知道该如何是图像改变大小适应控件的大小,然后在设置的控件大小上显示全部的图像

回复列表 (共4个回复)

沙发

PictureBox控件好像没有这个功能,但它可以作为一个容器,可以在PictureBox控件里放其它控件!PictureBox控件虽然没有让图片自动适当自己的大小的功能,但Image控件有这个功能,可以在PictureBox控件中画一个Image控件,然后添加如下代码即可:

Private Sub Form_Load()
Image1.Left = 0
Image1.Top = 0
Image1.Height = Picture1.Height
Image1.Width = Picture1.Width
Image1.Stretch = True   '使图片自动适当图像框
End Sub

板凳

我还忘了说,图片是装在Image控件上,而不是装在PictureBox控件。

3 楼

如果程序中Picture1的大小有可能改变,那么还要加下面的代码:
Private Sub Picture1_Resize()   '使Image1的大小和Picture1的大小一样
With Image1
    .Top = 0
    .Left = 0
    .Width = Picture1.Width
    .Height = Picture1.Height
End With
End Sub

4 楼

既然不用PictureBox控件,那就删除它,只用Image,节省一点资源。
还有,用Move方法的效率要高一些:
Image1.Move 自定义Left, 自定义Top, 自定义Width, 自定义Height

我来回复

您尚未登录,请登录后再回复。点此登录或注册