gif锯齿化问题

  索引颜色是位图图片的一种编码方法,需要基于RGB、CMYK等更基本的颜色编码方法。可以通过限制图片中的颜色总数的方法实现有损压缩。

  挑选一副图片中最有代表性的若干种颜色(通常不超过256种),编制成颜色表。在表示图片中每一个点的颜色信息时,不直接使用这个点的颜色信息,而使用颜色表的索引。这样,要表示一幅32位真彩色的图片,使用索引颜色的图片只需要用不超过8位的颜色索引就可以表达同样的信息。使用索引颜色的位图广泛用于网络图形、游戏制作等场合,常见的格式有GIF、PNG等。

  索引透明色。这种颜色跟索引绿色,或是索引红色属于性质相同的颜色,这是个颜色。而这种颜色表现的效果就是透明。

 

  Alpha通道一般用做不透明参数,有些情况下用0%-100%表示,有时候用0-1表示,还有时候用0-255表示,两头分别表示完全透明和不透明。我知道的,css里,IE下有个透明度滤镜,使用0%-100%表示的,例如下面:filter:alpha(opacity=50);而其他浏览器(Firefox,chrome等)是用0-1表示的,例如:opacity:0.5;在as中,透明度可以用0-1表示,例如:test_mc.alpha=0.5;也可以用0-255表示,但是以十六进制的形式表示的,例如:0x80FF0000就是50%透明的红色。在css3中,颜色的表示也加入了Alpha通道.

 

平时我们看到的半透明图片都是png32的,都使用了8位(2的8次方为256)的Alpha通道,否则无法表示半透明.

 

如果一张图片不含有Alpha通道(不透明的),但用户却以png32的方式将其保存,则图片中所含的8Alpha通道则是多余的,而采用photoshop这种方式,如果一张图片不含Alpha通道,即使用户勾选了透明度选项,图片依然以png24形式保存,避免了多余的信息

 

gif图片(或png8)产生锯齿的原因一句话总结就是:gifpng8只有透明索引颜色,没有半透明索引颜色,不支持位图中半透明边缘,只好用其他索引色代替(例如白色#FFFFFF),从而产生杂色锯齿.

 

gifpng8是索引图片,图片中所有的颜色都是索引颜色,而这些所有的索引颜色中有关透明度的就只有一个透明索引颜色,并没有半透明索引颜色,加上photoshop采用半透明实现边缘平滑处理,所以导致photoshop导出的gif图片(或png8)会产生杂边锯齿.

 

1.4 形状与锯齿之间的关系
   杂边锯齿的大小以及有无与图形的形状是有关系的。一般来说,水平线,垂线,矩形是没有杂边锯齿的问题的,因为他们都是完全填充像素的。但是弧线以及斜线就会遇到杂边锯齿的麻烦.一般的ps的处理方式就是在界面中勾选消除锯齿的选项,然后在这部分杂边区域的时候显示的是半透明格式的图片,用来做平滑处理。

 

2.2 通过杂边设置弱化网页中gif锯齿的影响
   默认的杂边颜色是白色,通过更改这个颜色可以弱化网页中gif图片(或png8)杂色锯齿的影响。这种改变分为两种情况,一是将杂边颜色设置为网页的背景颜色,但是这不适用于背景经常变化的情况;还有就是将杂边颜色设置为图片边缘的颜色,但是这种情况不适用于图片边缘颜色很多的情况。两种设置各有利弊和局限性,需要根据实际情况进行调整。

 

posted on 2017-01-24 17:01  马伯安  阅读(2005)  评论(0编辑  收藏  举报

导航