c#bitmap占用资源不释放解决方案

上传人:自*** 文档编号:79620288 上传时间:2019-02-17 格式:DOC 页数:2 大小:31.50KB
返回 下载 相关 举报
c#bitmap占用资源不释放解决方案_第1页
第1页 / 共2页
c#bitmap占用资源不释放解决方案_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述

《c#bitmap占用资源不释放解决方案》由会员分享,可在线阅读,更多相关《c#bitmap占用资源不释放解决方案(2页珍藏版)》请在金锄头文库上搜索。

1、 / / 缩小图片 / / 源图文件名(绝对路径) / 目标宽度(允许的最大宽度) / 新图片质量(1-100) public void ResizePic(string strPath, int newWidth, int quality) Bitmap bmOld, bmNew; try /读取原图片 bmOld = new Bitmap(strPath); /为了解决Bitmap不释放资源问题,先不同的名称保存图片,缩放完后把临时文件删除 string tempPath = strPath.Replace(., _temp.); int oldWidth = bmOld.Width; i

2、nt oldHeight = bmOld.Height; int newHeight = (int)(double)newWidth / oldWidth * oldHeight); if (oldWidth newWidth) newWidth = oldWidth; newHeight = oldHeight; /建立新Bitmap用于缩放图片 bmNew = new Bitmap(bmOld, newWidth, newHeight); /保存缩放后的图片 bmNew.Save(tempPath); bmOld.Dispose(); bmNew.Dispose(); /获取图片Encod

3、er信息 ImageCodecInfo codecs = ImageCodecInfo.GetImageEncoders(); ImageCodecInfo ici = null; foreach (ImageCodecInfo codec in codecs) if (codec.MimeType = image/jpeg) ici = codec; EncoderParameters ep = new EncoderParameters(); /给定的参数quality ep.Param0 = new EncoderParameter(Encoder.Quality, (long)quality); /从临时文件中读取图片 Image img = Image.FromFile(tempPath); /以给定的参数保存图片 img.Save(strPath, ici, ep); img.Dispose(); /最后删除临时图片 File.Delete(tempPath); catch (Exception ex) new Database().SysLog(ex, PicStore.ResizePic( + strPath + , + newWidth + , + quality + ,); finally bmOld = null; bmNew = null;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号