当前位置:编程学习 > C#/ASP.NET >>

pictureBox.Image.Save的问题

做了个画板的程序,主要是利用pictureBox实现,
当我要保存pictureBox中的图象时,使用pic1.Image.Save("c:\\易做图.jpg",System.Drawing.Imaging.ImageFormat.Jpeg),
结果提示“未将对象引用设置到对象的实例。”,
看了一下pic1.Image发现其值为null!可pic1里有东西。

在网上查了一下,在pic1的paint事件里加入:
bitmp = new Bitmap(pic1.Width, pic1.Height, pic1.CreateGraphics());
保存时使用bitmp.Save(...)发现能保存了,但保存的东东是个黑块,什么都没有。。。

请教各位,如何能正确的保存pictureBox里的内容啊。 --------------------编程问答-------------------- 未将你画的图片赋值给PictureBox的Image --------------------编程问答-------------------- Pic显示的是内存的图像,如果没有就说内存没有,Save本身不会把Pic控件的显示保存的 --------------------编程问答-------------------- 可能你的绘图操作是在picturebox的Graphic上完成的,改为由PicatureBox.Image的绘图层,这样再保存就应该没有问题 --------------------编程问答-------------------- 再来多点意见参考~! --------------------编程问答-------------------- 定义一个数据结构。在Paint中将Picture的内容存入结构中。保存时保存数据结构中的流即可。 --------------------编程问答-------------------- 顶了 --------------------编程问答-------------------- 学习,顶 --------------------编程问答-------------------- 我也出现这个问题 无法解决!现在在做毕业设计,搞不出来好郁闷啊
--------------------编程问答-------------------- 总之,用C#操作图片,必须谨慎,否则很容易发生异常的 --------------------编程问答-------------------- 如果通过属性的Image给picturebox加载图形,那么save是么问题的,如果是在OnPaint中绘制,可以用如下方法


        Bitmap bmp = new Bitmap(100, 100);
        private void pictureBox1_Paint(object sender, PaintEventArgs e)
        {
            Graphics g = Graphics.FromImage(bmp);
            g.FillRectangle(Brushes.Red, 0, 0, 100, 100);
            e.Graphics.DrawImage(bmp, new Point(0, 0));
        }
保存
        bmp.Save("e:\\1.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,