在保存Bitmap的时候出现“GDI出现一般性错误”

今天开发的时候出现过一个非常奇怪的问题,在保存最终的Bitmap图片的时候,明明使用Directory.Exist(filePath)函数判断当前路径的时候,这些路径都是有用的并且都是合法的,但是就是在执行img.Save([email protected]"\"+ station [index][email protected]"\"+DateTime.Tostring().Replace("-","").Replace(":","").Replace(" ",""))的时候总是弹出“GDI出现一般性错误”,而且该路径在计算机中确实存在, 百思不得其解,然后去分析该路径的形式,第一个filePath是从XML文件 中读取出来的,后面的都是一些人为添加的一些信息,到底是哪里出了问题,最后想到了常见的一个问题,可能在引入字符串的时候加了一些空白符,由此联想到Trim()这个函数,所以在保存的时候将filePath改为filePath.Trim(),然后再试,这次果然可以,回到XML文件中来查看这个filePath,原来<SaveFilePath>C:\Users\Administrator\Desktop\新建文件夹\接口内容\GqyPgisStation\Line1 </SaveFilePath>在xml文件中,在Line1的右边不小心添加了一个空白符,但是在执行Directory.Exist(filePath)为什么没有报错,也许是这个函数将其中的空白处去掉了吧!所以以后在读取xml文件并保存的时候一定要注意是否人为添加了空白符,这个需要注意。

时间: 2024-10-27 07:45:36

在保存Bitmap的时候出现“GDI出现一般性错误”的相关文章

GDI+ 发生一般性错误解决办法

错误的代码g对象继续占用 未释放资源 如果路径不一样 没问题 相同路径 获取图片进行 缩略会造成GDI错误 1 /// <summary> 2 /// 生成缩略图 3 /// </summary> 4 /// <param name="originalImagePath">源图路径(物理路径)</param> 5 /// <param name="thumbnailPath">缩略图路径(物理路径)<

保存Bitmap到SD卡

public static void saveBitmapInExternalStorage(Bitmap bitmap,Context context) { try { if(IsExternalStorageAvailableAndWriteable()) { File extStorage = new File(Environment.getExternalStorageDirectory().getPath() +"/orimuse");//orimuse为SD卡下一个文件夹

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

今天在开发.net引用程序中,需要System.Drawing.Image.Save 创建图片,debug的时候程序一切正常,可是发布到IIS后缺提示出现"GDI+中发生一般性错误"的异常.于是开始"摆渡",并寻找到了解决办法:赋予 NETWORK SERVICE 帐户以写权限. 以下为晚上寻找到的资料: 在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致"GDI+ 中发生一般性错误"的发生,通常有以下三种

[转]GDI+ 中发生一般性错误

在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致“GDI+ 中发生一般性错误”的发生,通常有以下三种原因:1. 相应的帐户没有写权限.解决方法:赋予 NETWORK SERVICE 帐户以写权限.2. 指定的物理路径不存在.解决方法:在调用 Save 方法之前,先判断目录是否存在,若不存在,则创建.if (!Directory.Exists(dirpath))Directory.CreateDirectory(dirpath);3. 保存的文件已存在并因

GDI+一般性错误(A generic error occurred in GDI+)

1.GDI+的前世今生 GDI+全称图形设备接口,Graphics Device Interface (GDI) ,他的爸爸叫做GDI, 用C写的.Windows XP出来以后用C++重新写了一下,变成了GDI+.从.NET Framework 1.0开始,GDI+就被正式封装在了.NET Framework里面,并被广泛地应用到了所有和图形图像相关的程序中.不幸的是,这个GDI+引入了微软有史以来最大的2个patch,造成了Microsoft IT, Support, Developer, T

[转载]GDI+中发生一般性错误

注:第一次写博客,把自己遇到的问题和收集的资料记录在博客上.在开发.NET应用中,使用 System.Drawing.Image.Save 方法而导致"GDI+ 中发生一般性错误"的发生,通常有以下三种原因:1. 相应的帐户没有写权限.解决方法:赋予 NETWORK SERVICE 帐户以写权限.2. 指定的物理路径不存在.解决方法:在调用 Save 方法之前,先判断目录是否存在,若不存在,则创建.if (!Directory.Exists(dirpath))Directory.Cre

GDI+ 中发生一般性错误。

“/wechat”应用程序中的服务器错误. GDI+ 中发生一般性错误. 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: System.Runtime.InteropServices.ExternalException: GDI+ 中发生一般性错误. 源错误: 行 37: } 行 38: string savePath = string.Format("{0}/storebook.png"

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

从数据库中读取的图片是byte[]类型,将其转换成Image可以正常显示,但是调用image.Save()时会发生“GDI+ 中发生一般性错误”.public static System.Drawing.Image ToImage(byte[]bytes){    System.IO.Stream ms = new System.IO.MemoryStream(bytes);    System.Drawing.Image image =System.Drawing.Image.FromStre

一、GDI+中发生一般性错误——C#踩坑记

处理图片的时候发生 GDI+中发生一般性错误 我知道的原因有4个 1. 相应的帐户没有写权限. 解决方法:增加权限,赋予 NETWORK SERVICE 帐户以写权限. 2. 指定的物理路径不存在.解决方法:在调用 Save 方法之前,先判断目录是否存在,若不存在,则创建. 网络中应该使用虚拟路径,记得加“~/” if (!Directory.Exists(dirpath))Directory.CreateDirectory(dirpath); 3. 保存的文件已存在并因某种原因被锁定.解决方法