.net缩略图 GDI+一般性错误解决方法。
2011-08-17 14:14
127 查看
public void CreateMinImageAndDel(string originalImagePath, string thumbnailPath, int width, int height) { Graphics draw = null; string FileExt = ""; System.Drawing.Image originalImage = System.Drawing.Image.FromFile(HttpContext.Current.Server.MapPath(originalImagePath)); int towidth = width; int toheight = height; int ow = originalImage.Width; int oh = originalImage.Height; //新建一个bmp图片 System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight); System.Drawing.Image bitmap2 = new System.Drawing.Bitmap(towidth, toheight); //新建一个画板 System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bitmap); //设置高质量插值法 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; //设置高质量,低速度呈现平滑程度 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; //清空画布并以透明背景色填充 g.Clear(System.Drawing.Color.Transparent); //在指定位置并且按指定大小绘制原图片的指定部分 g.DrawImage(originalImage, new System.Drawing.Rectangle(0, 0, towidth, toheight)); try { //以jpg格式保存缩略图 FileExt = Path.GetFileNameWithoutExtension(originalImagePath); draw = Graphics.FromImage(bitmap2); draw.DrawImage(bitmap, 0, 0); } catch (System.Exception e) { throw e; } finally { originalImage.Dispose(); bitmap.Dispose(); g.Dispose(); bitmap2.Save(HttpContext.Current.Server.MapPath(thumbnailPath) + FileExt + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg); } }
直接拷贝方法既可用 因为如果只创建一个img对象进行图片的缩略保存会照成锁死。
所以这里申明了2个
System.Drawing.Image bitmap = new System.Drawing.Bitmap(towidth, toheight);
System.Drawing.Image bitmap2 = new System.Drawing.Bitmap(towidth, toheight);
相关文章推荐
- .net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
- .net生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
- 关于生成缩略图及水印图片时出现GDI+中发生一般性错误解决方法
- ASP.NET输出PNG图片时出现GDI+一般性错误的解决方法
- ASP.NET输出PNG图片时出现GDI+一般性错误的解决方法
- GDI+ 中发生一般性错误的解决方法
- GDI+ 中发生一般性错误 的解决方法
- “GDI+ 中发生一般性错误” 解决方法
- asp.net图片添加水印以及GDI+ 中发生一般性错误的解决方法
- GDI+发生一般性错误的解决方法
- ASP.NET输出PNG图片时出现GDI+一般性错误的解决方法
- GDI+ 中发生一般性错误的解决方法
- WebChartz中GDI+发生一般性错误的解决方法。[常见]
- GDI+发生一般性错误的解决方法
- 图像对象paip.Image对象出现“对象当前正在其他地方使用或者GDI+中发生一般性错误的解决
- .NET 2.0项目常用错误的解决方法
- 64位Windows Server 2008下.Net程序运行崩溃,错误代码“80131506”的解决方法
- GDI+中发生一般性错误的解决办法
- [原创解决]System.Runtime.InteropServices.ExternalException (0x80004005): GDI+ 中发生一般性错误