从图片框中获取图像

时间:2009-09-09 07:25:40

标签: vb.net

如何获得我在相框上绘制的图像?在我的应用程序中,我使用写意画创建了一个表单。但我无法保存我作为文件绘制的图像,有一个错误消息“对象引用未设置为对象的实例”。我正在使用代码

me.picturebox1.image.save(filename,sysytem.....jpeg)

任何人都知道请帮助我......谢谢

3 个答案:

答案 0 :(得分:4)

我将假设您从未分配Image的{​​{1}}属性,而是直接在从PictureBox控件检索到的PictureBox对象上执行绘图命令。如果是这种情况,则执行绘图时Graphics属性将保持Image / Nothing。要解决此问题,请在初始化null控件时将空图像指定给Image属性:

PictureBox

然后,当您想要执行某些绘图时,请使用myPictureBox.Image = New Bitmap(myPictureBox.ClientSize.Width, _ myPictureBox.ClientSize.Height) 中的Graphics对象而不是Image

PictureBox

通过这种方法,您可以像在当前代码中一样保存图像,只需在Using g As Graphics = Graphics.FromImage(myPictureBox.Image) ' do the drawing ' End Using 对象上调用Save即可。

答案 1 :(得分:1)

您的代码似乎没有任何内在错误(除非问题出在其中一个参数上)。 PictureBox.Image.Save()确实有用!

PictureBox可能会显示图像,但它所引用的Image对象已经被处理掉了。您可以通过首先实现对可为空性的检查来消除对象引用错误:

If picturebox1.Image isnot Nothing Then
  ...
End If

此外,您应该检查绘制图像的代码...是否按预期处理引用?

答案 2 :(得分:0)

我尝试了类似的操作。

pictureBox1.Image.Save("C:\\tempStack.jpg", ImageFormat.Jpeg);

原因可能是pictureBox1(非常不可能)或pictureBox1.Image未设置。

使用

pictureBox1.Load("")

在尝试保存之前加载图像。