你的位置:首页 > ASP.net教程

[ASP.net教程]C#简单一句代码,实现pictureBox的照片另存为磁盘文件不出错

开发人事档案系统时,一般都要利用pictureBox对人员的照片进行操作,包括选择保存照片、另存照片、删除照片,如下图:

                       

将照片保存到数据库和从数据库中删除,网友写了很多实用代码,非常好用。但是要将pictureBox上显示的照片另存为磁盘文件时,非常容易出现“GDI+ 发生一般性错误”。网上有很多建议,都不符合我的要求,要么另存出来的照片不能正常显示,要么代码非常繁琐。经过我测试,其实方法很简单,C#一句代码就可以实现pictureBox照片另存为磁盘文件而不出错。主要代码如下:

if (SaveFileDialog.ShowDialog() == DialogResult.OK)

            {

                pictureName = SaveFileDialog.FileName;

 

                if (pictureBox1.Image != null)

                {

                    ////********************照片另存*********************************

                    using (MemoryStream mem = new MemoryStream())

                    {

                        //这句很重要,不然不能正确保存图片或出错(关键就这一句)

                        Bitmap bmp = new Bitmap(pictureBox1.Image);

                        //保存到内存

                        //bmp.Save(mem, pictureBox1.Image.RawFormat );

                        //保存到磁盘文件

                        bmp.Save(@pictureName, pictureBox1.Image.RawFormat);

                        bmp.Dispose();

 

                        MessageBox.Show("照片另存成功!","系统提示");

                    }

                    ////********************照片另存*********************************

                }

 

        }