[转载]PNG8和PNG24的区别

2013-05-02 21:46

[转载]PNG8和PNG24的区别

by 晴方好玲

at 2013-05-02 13:46:17

original http://blog.sina.com.cn/s/blog_897db7b50101b4c5.html

原文地址:PNG8和PNG24的区别作者:用户体验设计中心

如果觉得有用请关注一下以下网址哦,谢谢http://meihaoduo.taobao.com/

 

今天我做了一个图,因为需要透明,所以我存为了PNG8格式,结果发现图片变了,图片变得四周都

不光滑了,四周都变得有锯齿了,而且阴影也不见了,后来存为PNG24,这些问题就消失了。

我去百度搜索了关于PNG8PNG24的区别,看到下面的文章,原来PNG8要么完全透明,要么完全不透

明,不支持半透明,所以才会出现上面的问题,但PNG24支持半透明的。

详细请看以下文章,希望能帮到您哦,呵呵

 

一直在png图片透明这块,模糊着,虽然XXX,就是因为懒没有认真测试测试。今天看到同事要做一个这样的效果时,发现得弄弄了,于是去新浪微博看下它logo的实现时,遇到这个问题(想知道它用的什么格式的png图)。

首先先做下比较,因为估计做前端的人和我一样知道最多的就是png是一种包含半透明格式的图片。其实我们还要知道:

1.png8png24的根本区别,不是颜色位的区别,而是存储方式不同。

2.png81位的布尔透明通道(要么完全透明,要么完全不透明),png24则有8位(256阶)的布尔透明通道(所谓半透明)。

png-8 gif 有一些相似之处,模式都是索引颜色,只支持像素级的纯透明,不支持 alpha 透明。

我们通常说的“IE6 不支持 PNG 透明”,是指不支持 PNG-24 的透明。但是 IE6 支持 PNG-8 的透明,就像支持 gif 的透明一样。

 

这样我们在工作中就有了方向:

1.色彩丰富的、大的图片切成jpg的;
2.
尺寸小的,色彩不丰富的和背景透明的切成gif或者png8的;
3.
半透明的切成png24

 

回到本文开头的问题,如何区别(最简单的2种办法)

1.ps里看图像---模式,png8当然只有8/通道了。

2.当打开png8的图片时,ps会默认给它的图片标题上加上“索引”两字,png24的则没有。

 

最后说下png透明ie6下的解决问题:

因为懒原来只搜集了办法,没实践,发现看起来很不好,周末好好测试一番,总结一下。

新浪微博的logopng24)采用了下面的方法来实现透明:

_background:none;  

_filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='logo.png',sizingMethod='crop');

但是测试发现当给background:red url(logo.png) no-repeat center;加了红色时,别的浏览器正常识别,ie6会出现依旧不识别的情况。

解决办法是在外面套的标签,或body加背景色,其他办法等周末细弄吧。(background-color:red;单独写就可以了)

如果觉得有用请关注一下以下网址哦,谢谢http://meihaoduo.taobao.com/

文章来源:dou917的空间


 青春就应该这样绽放  游戏测试:三国时期谁是你最好的兄弟!!  你不得不信的星座秘密