asp.net 利用 颜色量化 提升gif图片的质量(缩略、水印)
2008-12-25 15:16
501 查看
asp.net中的GDI+,对图像的操作功能已经相当强,效果也很不错,但是,大家在输出GIF图片的时候,会发现图片的质量很差,和输出JPG,PNG,BMP 等格式比起来,差距很大,图片的效果有些难以接受
这里给出一个 微软 的 MSDN 上提供的方法,来改善生成的gif图片的效果,对于提升jpg的质量,我在
.NET高质量缩略图、透明图片水印、文字水印 源代码发布 一文中,已经给出了实现方式,这里就不涉及了。
改善gif图片的生成效果,这里用的是颜色量化,就是重绘图片的 color-reduced palette。
先看一下几张对比图片:
原始图片 默认情况下 asp.net 生成的图片
颜色量化后的图片
通过颜色量化后,大家可以看到, 效果已经相当好了
此颜色量化类库的使用,也非常简单:
此类库来源于 MSDN,原文地址: http://msdn.microsoft.com/en-us/library/aa479306.aspx
源代码由三角猫升级至 .NET 2.0, 并做了部分修正和一点点汉化,版权属于原作者
源代码及示例下载
原文:http://www.zu14.cn/2008/12/25/aspnet_gif_quantize/
这里给出一个 微软 的 MSDN 上提供的方法,来改善生成的gif图片的效果,对于提升jpg的质量,我在
.NET高质量缩略图、透明图片水印、文字水印 源代码发布 一文中,已经给出了实现方式,这里就不涉及了。
改善gif图片的生成效果,这里用的是颜色量化,就是重绘图片的 color-reduced palette。
先看一下几张对比图片:
原始图片 默认情况下 asp.net 生成的图片
颜色量化后的图片
通过颜色量化后,大家可以看到, 效果已经相当好了
此颜色量化类库的使用,也非常简单:
using (Bitmap bmp = new Bitmap(...)) { OctreeQuantizer quantizer = new OctreeQuantizer ( 255 , 8 ) ; //两个参数为颜色值,和颜色深度 using ( Bitmap quantized = quantizer.Quantize ( image ) ) { Response.ContentType = "image/gif" ; quantized.Save ( Response.OutputStream , ImageFormat.Gif ) ; } }
此类库来源于 MSDN,原文地址: http://msdn.microsoft.com/en-us/library/aa479306.aspx
源代码由三角猫升级至 .NET 2.0, 并做了部分修正和一点点汉化,版权属于原作者
源代码及示例下载
原文:http://www.zu14.cn/2008/12/25/aspnet_gif_quantize/
相关文章推荐
- asp.net图片缩略和加水印程序
- asp.net 下图片水印,文字水印,自动无失真缩略功能!
- ASP.net 为上传的图片加上一个logo图片水印(生成图片质量非常高)
- ASP.NET\MVC 解决C#上传图片质量下降,图片模糊,水印有杂点的问题
- ASP.NET(C#)缩略图片,添加文字水印和图片水印
- ASP.NET图片打水印代码
- 【ASP.NET 进阶】无刷新上传图片之一:利用一般处理程序
- ASP.NET图片加水印的实现代码(C#)
- ASP.NET 给图片动态添加文字水印
- ASP.NET水印文字超出图片边界,显示在图片外面
- 利用javascript在asp.net中实现颜色的选择
- asp.net动态输出透明gif图片
- ASP.NET(C#)图片加文字、图片水印
- 转:【译】Asp.net MVC 利用自定义RouteHandler来防止图片盗链
- ASP.NET给图片加上水印
- asp.net 上传图片处理 水印 缩略图
- asp.net上传图片并自动生成缩略图和给图片水印
- asp.net图片水印效果(经典)
- asp.net中上传图片并生成小图片,自动添加水印的代码 .
- [转]asp.net图片水印效果