C# 保存图片框图像
我已经写了这段代码,但它抛出了一个一般性错误 “对象引用未设置为对象的实例。” 我相信这是因为我试图保存C# 保存图片框图像,c#,save,picturebox,C#,Save,Picturebox,我已经写了这段代码,但它抛出了一个一般性错误 “对象引用未设置为对象的实例。” 我相信这是因为我试图保存pictureBox.Image,而没有实际设置图像。如何保存图片盒中的图像 // Left Arm Rear bmp = new Bitmap(4, 12); g3 = Graphics.FromImage(bmp); g3.DrawImageUnscaled(pictureBoxSkin.Ima
pictureBox.Image
,而没有实际设置图像。如何保存图片盒中的图像
// Left Arm Rear
bmp = new Bitmap(4, 12);
g3 = Graphics.FromImage(bmp);
g3.DrawImageUnscaled(pictureBoxSkin.Image, -52, -20, bmp.Width, bmp.Height);
g2 = pictureBoxLabel.CreateGraphics();
bmp.RotateFlip(RotateFlipType.RotateNoneFlipX);
g2.DrawImageUnscaled(bmp, 28, 20, bmp.Width, bmp.Height);
// Back
bmp = new Bitmap(8, 12);
g3 = Graphics.FromImage(bmp);
g3.DrawImageUnscaled(pictureBoxSkin.Image, -32, -20, bmp.Width, bmp.Height);
g2 = pictureBoxLabel.CreateGraphics();
bmp.RotateFlip(RotateFlipType.RotateNoneFlipX);
g2.DrawImageUnscaled(bmp, 32, 20, bmp.Width, bmp.Height);
pictureBoxLabel.Image.Save(openFileDialog1.InitialDirectory + Path.GetFileNameWithoutExtension(openFileDialog1.FileName) + "_label.Png");
如果最后一行出现nullreferenceexception
throwns,则有一些可能性
pictureBoxLabel.Image.Save(openFileDialog1.InitialDirectory + Path.GetFileNameWithoutExtension(openFileDialog1.FileName) + "_label.Png");
pictureBoxLabel
可以是null
openFileDialog1
可以是null
在调试时检查这些对象
但如果pictureBoxLabel
为空,则此行上也可能会抛出NullReferenceException
g2 = pictureBoxLabel.CreateGraphics();
所以,我的钱花在openFileDialog1
是null
上,你真的要用调试器插入这段代码并找到引发异常的行。您还使用了两种不同的控件PictureBoxkin.Image
和pictureBoxLabel.Image
,这是故意的吗?这两种图像都是故意的。引发错误的行是底部的保存行。正如我所说,我认为这是因为我试图在pictureBoxLabel中保存图像,而没有为其指定图像。它有一个图像,但它是使用creategraphics添加的。保存创建的图形的正确行是什么?如果您已经知道一行中有太多错误,那么一行中的内容太多。在上面的行中组合文件名。仅使用字符串作为参数调用Save
,以更接近错误。感谢您的回复,您能检查下面的响应吗?openFileDialog很好。如果我将pictureBox对象替换为位图对象,它会将文件保存到正确的位置,因此文件路径良好。我认为问题在于pictureBoxLabel.Image是空的。当代码运行时,它将分离PictureBoxkin.Image,重新排列它并将其绘制到pictureBoxLabel,因此在WinForm中,我在pictureBoxLabel中看到一个图像。但实际上我并没有设置pictureBoxLabel.Image属性。如何保存我在WinForm上的框中看到的图像?@luigivampa Check image property from