开发的过程中遇到了这个错误想要记录下来!

我是在保存图片文件时遇到的这个错误。

网上也搜了很多资料,试过之后还是会出错,代码其实也都大同小异没有太大区别,先把我遇到问题的经过描述一下:
我要做的是读取身份证信息,其中身份证的证件照也是需要存储下来的,身份证中的照片是二进制流读取的,需要在picturebox控件中展示,我的思路是:

1.读取二进制流,写到内存中

                byte[] imgData = new byte[1111];int length = 1111;//读取流并填充imgDataMemoryStream myStream = new MemoryStream();for (int i = 0; i < length; i++){myStream.WriteByte(imgData[i]);}

2.将二进制流转换为图片并绑定到控件中

                Image myImage = Image.FromStream(myStream);picCredentialsPhoto.Image = myImage;

3.生成jpg图片

           _ImgStorePath = AppDomain.CurrentDomain.BaseDirectory + "img\\"+lblFileName.Text + ".jpg;//照片另存if (!File.Exists(_ImgStorePath)){File.Create(_ImgStorePath);}using (Bitmap bmp = new Bitmap(picCredentialsPhoto.Image.Width, picCredentialsPhoto.Image.Height)){Graphics g = Graphics.FromImage(bmp);//实例一个画板的对象,就用上面的图像的画板g.DrawImage(picCredentialsPhoto.Image, 0, 0);//把目标图像画在这个图像文件的画板上using (MemoryStream mem = new MemoryStream()){bmp.Save(_ImgStorePath, System.Drawing.Imaging.ImageFormat.Jpeg);}}

代码执行到bmp.Save(_ImgStorePath, System.Drawing.Imaging.ImageFormat.Jpeg); 时抛出异常“GDI+中发生一般性错误”。

解决办法:
经过调试及多次测试,发现问题在我创建文件那一步,我在创建文件时把图片文件也创建好了,之后再区保存图片的时候就出错了,正确代码如下:

            //区别开始_ImgStorePath = AppDomain.CurrentDomain.BaseDirectory + "img\\";if (!Directory.Exists(_ImgStorePath)){Directory.CreateDirectory(_ImgStorePath);}_ImgStorePath += lblVisNumber.Text + ".jpg";//区别结束using (Bitmap bmp = new Bitmap(picCredentialsPhoto.Image.Width, picCredentialsPhoto.Image.Height)){Graphics g = Graphics.FromImage(bmp);//实例一个画板的对象,就用上面的图像的画板g.DrawImage(picCredentialsPhoto.Image, 0, 0);//把目标图像画在这个图像文件的画板上using (MemoryStream mem = new MemoryStream()){bmp.Save(_ImgStorePath, System.Drawing.Imaging.ImageFormat.Jpeg);}}

这样就不会报错了

别的同仁有可能是因为其他原因报错的,只是记录一下个人遇到的问题!有需要可借鉴

GDI+中发生一般性错误的解决办法相关推荐

  1. GDI+中发生一般性错误的解决办法 from http://www.cnblogs.com/winzheng/archive/2008/12/23/1360440.html...

    GDI+中发生一般性错误的解决办法 这个错误经常发生,代码如下:    private  static  byte[] GetBytes (Image image)         {         ...

  2. GDI+中发生一般性错误的解决办法(转帖)

    今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现"GDI+中发生一般性错误" ...

  3. 图像对象paip.Image对象出现“对象当前正在其他地方使用或者GDI+中发生一般性错误的解决...

    本文纯属个人见解,是对前面学习的总结,如有描述不正确的地方还请高手指正~ paip.Image对象现出"对象以后正在其他地方用使或者GDI+中产生一般性误错的决解 作者Attilax ,   ...

  4. C#界面设计--5--Bitmap.save保存图片时: GDI+ 中发生一般性错误 解决办法

    Bitmap.save保存图片时: GDI+ 中发生一般性错误 解决办法 源程序: var date = DateTime.Now.ToString("yyyy-MM-dd");/ ...

  5. GDI+ 中发生一般性错误(生成验证码时出现的错误)

    我在生成验证码时,出现这样的错误:GDI+ 中发生一般性错误. 怎么解决? 转载于:https://www.cnblogs.com/happyangle/archive/2008/06/11/1217 ...

  6. GDI+中发生一般性错误

    在PictureBox中有一副图,希望保存成图片,用 pictureBox1.Image("c:\\aa.jpg",System.Drawing.Imaging.ImageForm ...

  7. GDI+ 中发生一般性错误

    使用Chartlet时打开页面跳出以下错误: "/"应用程序中的服务器错误. GDI+ 中发生一般性错误. 说明: 执行当前 Web 请求期间,出现未处理的异常.请检查堆栈跟踪信息 ...

  8. Image.Save()发生“GDI+ 中发生一般性错误”

    从数据库中读取的图片是byte[]类型,将其转换成Image可以正常显示,但是调用image.Save()时会发生"GDI+ 中发生一般性错误". public static Sy ...

  9. GDI+中发生一般性错误 以及发布时候需要配置的文件

    mxcms在本地测试完毕.搬家到服务器上,修改测试数据新闻的时候,提示"GDI+中发生一般性错误". 找了下,发现是缩略图的原因. 解决方法:将缩略图文件夹里的文件全部删除. fi ...

最新文章

  1. 重磅推荐:中国人工智能趋势报告(完整版)
  2. linux系统的sudo apt-get命令大全
  3. 59. Leetcode 81. 搜索旋转排序数组 II(二分查找-局部有序)
  4. DVB-C系统中QAM调制与解调仿真
  5. 反问疑问_句子练习大全(反问、疑问、设问、病句等练习)
  6. OpenCV与FLANN的功能匹配
  7. CSS实例:图片导航块
  8. typeorm mysql_从零搭建项目 (10) --- 后端: 使用 TypeORM 和 MySQL
  9. java 泛型详解、Java中的泛型方法、 java泛型详解
  10. 盒子模型阴影设置,爱奇艺阴影配置
  11. 选择适合自己的 OLAP 引擎,干货
  12. 【小项目】Axios 实现前后端交互
  13. PUT 还是 POST ?
  14. Flutter格式化电话号码
  15. linux内核编程4部曲之二:增加linux内核系统调用
  16. xp系统怎样安装传真服务器,如何安装windows xp传真服务器
  17. 矩阵开根号,工作矩阵平方根
  18. android控件Recy,Android RecyclerView控件的使用
  19. 《文明六:Sid Meier's Civilization VI 》的介绍
  20. Quasi_Binary(模拟)

热门文章

  1. java object类_快速上手 Kotlin 开发系列之与 Java 互调 (1)
  2. 如何用python画长方形_Python如何绘制长方形
  3. ARM C/C++编译器
  4. html5前端Video视频标签和audio音频标签的使用
  5. 泛微E-Mobile4.5服务端安装手册
  6. 谐波?到底怎么理解?这次是明白了!
  7. 4.Git基本命令操作
  8. 计算机软件科学专利,计算机软件专利有哪些
  9. 华为无线-AC+AP小型无线网络配置实验_v1
  10. 云南大学软件学院java实验九_云南大学软件学院Java实验二