• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

asp.net利用颜色量化提升gif图片的质量(缩略、水印)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

asp.net中的GDI+,对图像的操作功能已经相当强,效果也很不错,但是,大家在输出GIF图片的时候,会发现图片的质量很差,和输出JPG,PNG,BMP 等格式比起来,差距很大,图片的效果有些难以接受

这里给出一个 微软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/


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap