VB6.0中可使用PaintPicture 方法在 Form, PictureBox 或 Printer 上绘制图形文件时设置参数更改图片的尺寸。使用SavePicture 语句,从对象或控件(如果有一个与其相关)的 Picture 或 Image 属性中将图形保存到文件中。
PaintPicture 方法,用以在 Form, PictureBox 或 Printer
上绘制图形文件(.bmp、.wmf、.emf、.cur、.ico或 .dib)的内容。不支持命名参数。
语法
SavePicture 语句,从对象或控件(如果有一个与其相关)的 Picture 或 Image 属性中将图形保存到文件中。
代码实例:
Private Sub Command1_Click()
Picture2.PaintPicture Picture1.Picture, 0, 0, 4000, 3200
End Sub
Private Sub Command2_Click()
SavePicture Picture2.Image, "D:\Pic.bmp"
End Sub
Private Sub Form_Load()
Picture2.AutoRedraw = True
Picture1.Picture = LoadPicture("D:\p1.jpg")
End Sub
这个比较麻烦,可以用二次线形插值的方法来做,但最好还是用外部程序如PS或ACDSEE来完成!
你是要VB2008的代码?还是VB6的代码呢?不一样的
VB6里PictureBox不具备修改图片尺寸的功能,但设Image控件的Stretch属性为true后就可以了。所以你可以把Image控件放到Picturebox里。
LoadPicture PictureBox1.Picture,"c:\test1.bmp"
Image1.Stretch = True
Image1.Image = PictureBox1.Image
Image1.Width = 200
Image1.Height = 100
SavePicture Image1.Image,"c:\test2.bmp"
VB2008里直接用PictureBox控件就可以搞定。把PictureBox2的SizeMode属性设为StretchImage
PictureBox1.Load("c:\test1.bmp")
PictureBox2.Image = PictureBox1.Image
PictureBox1.Image.Save("C:\test2.bmp")
更改尺寸:
Picture2.AutoRedraw = True
Picture2.PaintPicture Picture1.Picture, 0, 0, Picture2.Width, Picture2.Height
保存:
SavePicture Picture2.Image, "e:\tmp\mypicture.bmp"