在VB中如何更改picturebox中图片的尺寸,并保存更改后的图片?

2024-10-30 23:06:23
推荐回答(4个)
回答1:

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

回答2:

这个比较麻烦,可以用二次线形插值的方法来做,但最好还是用外部程序如PS或ACDSEE来完成!

回答3:

你是要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")

回答4:

更改尺寸:
Picture2.AutoRedraw = True
Picture2.PaintPicture Picture1.Picture, 0, 0, Picture2.Width, Picture2.Height

保存:
SavePicture Picture2.Image, "e:\tmp\mypicture.bmp"