普陀区苹果售后服务部手机维修售后的位置在哪里

.net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
System.Drawing.Image OldImage =&
oldImage = System.Drawing.Image.FromFile(ImageUrl);
使用该方法读取图片时。导致图片文件被死锁无法释放资源,导置重写资源时出现一般性错误。
解决方法将代码改成以下代码
Bitmap oImage = new Bitmap(ImageUrl);//从图片文件中读取图片流
Bitmap OldImage = new Bitmap(oImage);//将图片流复制到新的图片流中
oImage.Dispose();//将原来的图片流释放,将图片文件进行解锁。
非常简单实用吧,有相同问题的小伙伴可以参考下
顶一下(0) 踩一下(0)
热门标签:调试(13)
string path1 = &E:\\1.jpg&;
string path2 =
&E:\\1.bmp&;
Bitmap bmp1 = new Bitmap(path1);
bmp1.Save(path2,ImageFormat.Bmp);
path2保存的是24位的bmp文件,但是path1 = &E:\\1.gif&; 即原来为gif文件,则path2保存的是32位的bmp文件
解决gif保存为24位bmp文件的方案:
Bitmap bmp1 = new Bitmap(path1);
bmp1.PixelFormat = PixelFormat.Format24bppR
Rectangle cloneRect = new Rectangle(0, 0, bmp1.Width, bmp1.Height);
PixelFormat format =PixelFormat.Format24bppR
Bitmap cloneBitmap = bmp1.Clone(cloneRect, format);
cloneBitmap.Save(path2, ImageFormat.Bmp);
但是可能会出现一些错误:
1. GDI+中发生一般性错误
2. 1.jpg 正由另一个进程使用 ,该进程无法访问文件
解决方案:
FileStream fs = new FileStream(path1, FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] buffer = new byte[fs.Length];
int length = 0;
int ibyteRead = 0;
length = fs.Read(buffer, ibyteRead, buffer.Length - ibyteRead);
ibyteRead +=
while (length & 0);
MemoryStream mfs = new MemoryStream(buffer);
fs.Close();
fs.Dispose();
Image bmp1 = Image.FromStream(mfs);
bmp1.Save(path2, ImageFormat.Bmp);
bmp1.Dispose();
mfs.Close();
mfs.Dispose();
原因:在Image.FromStream 方法, Image 的生存期内,必须使流保持打开,对应的文件在Image对象被Disponse前都不会被解除锁定
参考:http://believehaveoneday./blog/static//
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:23699次
排名:千里之外
原创:25篇
转载:37篇
(1)(2)(2)(11)(2)(5)(2)(3)(1)(3)(9)(1)(11)(9)所有问题分类从文件生成的图像保存时发生GDI+一般性错误的原因及解决办法_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
从文件生成的图像保存时发生GDI+一般性错误的原因及解决办法
上传于|0|0|暂无简介
你可能喜欢.net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
投稿:hebedich
字体:[ ] 类型:转载 时间:
这篇文章主要介绍了.net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法 ,需要的朋友可以参考下
System.Drawing.Image OldImage =&
oldImage = System.Drawing.Image.FromFile(ImageUrl);
使用该方法读取图片时。导致图片文件被死锁无法释放资源,导置重写资源时出现一般性错误。
解决方法将代码改成以下代码
Bitmap oImage = new Bitmap(ImageUrl);//从图片文件中读取图片流
Bitmap OldImage = new Bitmap(oImage);//将图片流复制到新的图片流中
oImage.Dispose();//将原来的图片流释放,将图片文件进行解锁。
非常简单实用吧,有相同问题的小伙伴可以参考下
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具

我要回帖

更多关于 汉口苹果手机维修 的文章

 

随机推荐