C#生成缩略图不清晰模糊问题的解决方案!
2013-10-14 11:35
323 查看
之前网上找了个生成缩略图的代码,改了改直接用了。问题来了,等比例缩略图时总是发现左边、上边的边线大概有一像素的白边,领导不乐意了,那咱就改吧。图片放大了才发现,那个好像是渐变的颜色,晕,这样的功能领导肯定是接受不了的,图片画质都变了。网上搜了下,解决方案来了,挺多的。我就摘抄下,大家参考下,省的费劲去搜索了!
红色部分就是解决问题的关键所在。
打完收工!
//取得图片大小 var destRect = new Size(Convert.ToInt32(w), Convert.ToInt32(h));//指定所绘制图像的位置和大小 var srcRect = new Size(Convert.ToInt32(sw), Convert.ToInt32(sh));//指定 image 对象中要绘制的部分 var bitmap = new Bitmap(image, destRect); //新建一个画板 var g = Graphics.FromImage(bitmap); //设置高质量插值法 g.InterpolationMode = InterpolationMode.HighQualityBicubic; //设置高质量,低速度呈现平滑程度 g.SmoothingMode = SmoothingMode.HighQuality; g.CompositingQuality = CompositingQuality.HighQuality; //清空一下画布 g.Clear(Color.White); //防止出现渐变 var imgAtt = new ImageAttributes(); imgAtt.SetWrapMode(WrapMode.TileFlipXY); //在画板的指定位置画图 g.DrawImage(image, new Rectangle(0, 0, destRect.Width, destRect.Height), x, y, srcRect.Width, srcRect.Height, GraphicsUnit.Pixel, imgAtt); //保存高清晰度的缩略图 bitmap.Save(fileFullPath, GetImageFormat(Path.GetExtension(fileFullPath))); g.Dispose(); bitmap.Dispose();
红色部分就是解决问题的关键所在。
打完收工!
相关文章推荐
- c#.net 生成清晰缩略图的解决方案
- [C#]解决生成的缩略图模糊的问题
- c#.net 生成清晰缩略图的解决方案
- c#.net 生成清晰缩略图的解决方案
- c#.net 生成清晰缩略图的解决方案(转载)
- C#动态生成html页时候的问题及其解决方案
- [C#]asp.net生成高清晰缩略图
- C#(.NET)生成高质量(清晰)缩略图
- 【PHP缩略图类】手机照片不能生成缩略图问题以及解决方案
- vs2008 c#项目调试dll源码,问题:“若要调试此模块,请将其项目生成配置更改为“调试”模式” 的解决方案
- Asp.net 快速生成清晰缩略图解决方案
- c#.net 生成清晰缩略图
- C#上传视频生成缩略图
- 一个c#上传的程序,可以生成缩略图也可以自由添加水印效果
- C#生成缩略图,指定像素大小
- C# 图片生成缩略图
- Wordpress后台寻找新的主题,缩略图无法显示(问题解决方案)
- 分享c#动态生成文字图片解决方案
- 生成高清晰缩略图
- c# 数据集DBNull报错问题的解决方案