资源预览内容
第1页 / 共2页
第2页 / 共2页
亲,该文档总共2页全部预览完了,如果喜欢就下载吧!
资源描述
/ / 缩小图片 / / 源图文件名(绝对路径) / 目标宽度(允许的最大宽度) / 新图片质量(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; int 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(); /获取图片Encoder信息 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;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号