PNG的使用技巧

【转载】PNG的使用技巧

时间:2014-12-25 12:21


Png是图像文件存储格式,在网页设计中已经不是一个陌生的名词,在前端开发中经常使用到它,如常用CSS 雪碧图。而Png的使用不仅仅如此,Png有多少种格式,有哪些特点,PC端中常用的Png格式是哪些,手机端最合适的Png格式是什么呢?如果你对这些 问题有疑问,那么很开心的告诉你,这里有你需要的答案。

PNG的格式和透明度

这个Fireworks会比较清楚,打开Fireworkd优化面板,可以清楚看到png有3种不同深度的格式:png8、png24、png32。

其中,在优化面板选择png8,可发现png8包括不透明、索引色透明、alpha透明3种格式。

PNG8

8位的png最多支持256(2的8次方)种颜色,8位的png其实8支持不透明、索引透明、alpha透明。

PNG24

支持2的24次方种颜色,表现为不透明。

PNG32

支持2的32次方种颜色,32位是我们最常使用的格式,它是在png在24位的png基础上增加了8位的透明信息,支持不同程度的半透效果。

其实PNG8的3种格式不透明、索引透明、alpha透明,正好把png的所有格式都归类好了:

  • 『png 不透明』格式
  • 『png 索引透明』格式
  • 『png alpha透明』格式

『PNG 不透明』格式

说到不透明,就像jpg格式一样,『png 不透明』只能为不透明,代表格式有:『png8 不透明』和『png24』,导出软件有:Photoshop、Fireworks。不推荐使用『png 不透明』格式,建议用jpg图片来代替它。

可能会有同学会问为什么png24是不透明的,我使用photoshop导出来的就是png24啊?

Png24实际为不透明图片

打开photoshop,任意打开一个带透明的psd文件,存储为web所有格式(ctrl+shift+alt+s),如下面板所示:

不勾选透明度单选框,图片的透明背景会被默认的白色填充

导出来的png图片深度为24位,图片为不透明,表现跟jpg图片相似

如果勾选了透明度(alpha通道),导出深度为32位的透明图片

从photoshop存储为web所有格式面板中这样理解,png24深度其实为24位,再勾选上8位的alhpa通道,24+8=32,即『png32』 = 『png24+alpha』,这也许是photoshop软件开发者不添加png32位格式的原因,下图为Photoshop存储为web所有格式界面的图片格式选择,并没有png32位的选项~

『PNG 索引透明』格式

说到索引颜色透明,我们可以了解下什么是索引颜色,『png 索引透明』代表格式有『png8 索引透明』,导出软件有:Photoshop、Fireworks,它的特点总结如下:

  • 挑选一副图片中最有代表性的若干种颜色(通常不超过256种)
  • 只能为不透明或全透明
  • 文件体积小
  • 带有杂边锯齿
  • 支持IE6

如何使用Photoshop导出『png8 索引透明』

使用Photoshop,存储为web所有格式,按照如下图片的红色边框配置,可导出png8索引透明

注:使用Photoshop导出『png8 索引透明』的效果比Fireworks导出的效果良好,这里不介绍使用Fireworks导出『png8 索引透明』

『png8 索引透明』产生杂边锯齿原因

『png8 索引透明』只有透明索引颜色,没有半透明索引颜色,下图左侧为带半透明像素的图片,在浏览器中打开不会有锯齿,而右侧图片为全透明或不透明的像素,在浏览器打开后有锯齿。

由于『png8 索引透明』没有半透明索引颜色,使用Photoshop导出时,原有的半透明转化为不透明,从而产生锯齿。

如何避免『png8 索引透明』的杂边锯齿

方法:设置杂边与背景色颜色一致可达到视觉上透明。

相信不难理解,利用杂边与背景色一致,可以来满足视觉上的透明,缺点是只能适应一种背景色,在其它背景色下同样会产生杂边。

怎么设置呢,打开Photoshop,在存储为web格式面板中进行如下操作,在杂边选项中选择与背景色一致的颜色。

『PNG Alpha透明』格式

说到alpha透明,我们可以了解下什么是alpha通道,『png alpha透明』代表格式有『png8 alpha透明』和『png32』,导出软件有Fireworks,它的特点总结如下:

  • 一个8位的灰度通道,该通道用256级灰度来记录图像中的透明度信息,定义透明、不透明和半透明区域
  • 支持全透明和半透明
  • 『Png8 alpha透明』文件体积小
  • 『Png8 alpha透明』在IE6下有毛边

如何使用Fireworks导出『png8 alpha透明』

Firewoks中,在优化面板,按照如下图片的红色边框配置,可导出png8 alpha透明。

注:Firewoks支持导出『png8 alpha透明』,Photoshop不支持导出『png8 alpha透明』

手机端选择哪种Png

说到手机,考虑流量的问题是必不可少的,所选png需要满足体积小和视觉效果良好,那么哪种png格式符合这2个要求呢?做个实验吧~

不同Png格式测试

测试平台:ios&android webkit浏览器

测试图片:彩种雪碧图1230*82

测试内容:同一张雪碧图导出不同png格式的大小、透明度、杂边以及在retina显示屏和普通显示屏下的对比

测试结果:

从上图可见png32和png24体积太大了,十分消耗手机用户流量,不是我们选择的范围,那么可以锁定目标在『png8 alpha透明』和『png8 索引透明』中,2者对比,可以看出『png8 alpha』在手机端的支持是良好,可能有童鞋会认为,单凭一张图片也不能下结论~

而经过笔者使用多张雪碧图测试后使用Fireworks导出的『png8 alpha』,在手机端的支持是比较好的~不仅文件体积小,节省流量,而且半透明效果良好

于是,移动端采用『Png8 alpha透明』,相信『Png8 alpha透明』是未来的一种趋势~

PC端选择哪种Png

PC端使用哪种png,其实这个话题很早就有结论了,这里简单介绍下。

使用png8的方案:

使用photoshop打开雪碧图,分别导出一张png32和一张『png8 索引透明』的图片,高级浏览器使用png32位图片,针对IE6使用『png8 索引透明』,并设置『png8 索引透明』杂边与背景色颜色一致可达到视觉上透明

注:为啥使用png32而不使用『png8 alpha透明』?因为pc端的网速大多良好,建议使用表现更佳的png图片,显然png32是最合适的,当然你也可以使用『png8 alpha透明』,但是在高清显示器下的质量不如png32

.bg{
background:url(global.png?v=20130530) no-repeat;
_background:url(global_png8.png?v=20130530) no-repeat;//IE6使用的背景图
}

使用IE滤镜的方案:

比较耗性能,而且存在不支持背景平铺,导致链接失效等缺点,不推荐该方案,不要为了IE而把自己搞得像IE~

.bg{filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="img. png", sizingMethod="scale");}

另外还有js和打补丁的办法,这里不做介绍,大家有兴趣可以百度下:IE6支持png24

Png的格式、颜色种类、位数、透明度、浏览器支持一览

时间: 2024-11-09 03:46:52

PNG的使用技巧的相关文章

微信公众平台的最新功能详细介绍与使用技巧!

近日微信官方发布消息,微信公众平台的操作进行了又一次"感天动地"的更新 且听我一一道来 本次主要重要改(Geng)革(Xin)凸显在三个地方 改(Geng)革(Xin)一:图文模版的收藏与使用 这,真的是一个超级实用的功能呀,那么如何使用呢?在哪里找呢? 首先告诉大家,如何收藏图文模板 选中编辑区的部分或者全部素材,然后点击添加模版,图文模板即可收藏成功: 当然,你还可以从外部进行粘贴和复制内容到图文模版. 那么,在哪里找到我收藏的模版呢?? 嗯,就在添加图文模版的旁边啦! 同时,你还

好用不需多说的微信公众号实用技巧,一起来叨叨!

至此军训之际,太阳大大当空照,火热的阳光真是好! 小编的心情也是非常的好,想一想那么多嗮黑了,饿瘦了的小学妹们,终于可以显的我好白好白啦(不是白胖白胖)! 白白瘦瘦的我现在比较容易紧张,一紧张我就...喜欢装逼... 装逼我就想到了微信,想到了微信就忍不住和大家叨叨几个超级牛逼的技巧(⊙o⊙) 牛逼的技巧一:图文封面图的获取 不知道大家是否知道如何获取,如果这个图文的封面图比较的符合你的气质,这个时候你就需要下面这样子做了 首先,在电脑上的浏览器打开文章,右键点击查看源代码 然后,点击[Ctrl

【精品】北京赛车计划冠军定位玩法技巧

車車是一種投資,我們的目標是:細水長流,見好就收,不求日金千金,只求長期穩定!許多人賠本的原因:1. 資金不足,卻大把下注,跟到第4期不出,錢不夠了,心慌了.有人孤注一擲,衝到第5期中了,嚇的半死.有人不敢跟,第5期出號了,氣死, 然後再跟新計劃,沒錢了,郁悶死.這兩種做法都不對,既然是以投資的心態做事,就應該計劃好翻倍的本錢,做到99%的穩賺,狀況不對就要及時止損. 看著連續中,就是不敢跟,最後咬牙跟了,馬上挂了.于是開始哭,我運氣咋這麽差.不買就中,一買就挂.相反,有些人專門等挂,一挂就上,

店铺淘客如何做到单店利润过万的个人实战技巧

大家都对店铺淘客挺感兴趣的吧,所以我就分享一些细节,还有如何批量化操作的,平时比较忙,所以之前早就说写文章的,现在才来写.还有其中有很多也是商业机密,大家也都不愿意分享.这次我是毫无保留的分享给大家了.说的都是实操经验,所以对没有操做过这个项的听起来或许有难度,但是对准备入行,或者已经在操作的朋友至少少让大家摸索两个月的时间,好了也就不废话多说了吧. 先来简单介绍一下店铺淘客是怎么操作的 首先我们需要开一个淘宝店铺,然后用我们的的采集上货软件,最后只用坐等成交,坐等收成就可以,简单说一下大家也许

做预解释题的一点小方法和小技巧

在JavaScript中的函数理解中预解释是一个比较难懂的话题.原理虽然简单,寥寥数言,但其内涵却有深意,精髓难懂.如何在轻松活跃的头脑中将它学会,现在针对我在学习中的一点小窍门给大家分享一下,希望能给大家一些帮助: 万事需遵循"原理"--"预解释"无节操和"this"指向:(可先看例题解析然后结合原理进行学习) (感谢蕾蕾老师给归纳的预解释无节操原理:) 如果函数传参数则先于以下执行,就相当于在函数私有作用域下var了一个变量:根据作用域原理,

Android 代码混淆之部分类不混淆的技巧

在编写Android程序之后,我们通常要代码进行混淆编码,这样才能保证市场上我们的应用不会被别人进行反编译,然后破解,所以此时需要在发布正式版本的时候,有一些类事不能混淆的,比如实现了 Serializable 接口的,否则反序列化时会出错,这种情况下,我们可以简单的通过在proguard.cfg(Eclipse)添加配置来解决: -keepnames class * implements java.io.Serializable -keepclassmembers class * implem

Windows 操作小技巧 之一(持续更新)

1.图片批量旋转 通常携带单反去景点排了大量照片回来处理图片时都会遇到很多横竖杂乱排序的图片难以处理的情形.现提供如下技巧进行处理. 1).在文件夹中添加“方向”的排列或分组选项: 2).选择需要进行旋转的全部图片进行批量顺时针旋转或逆时针旋转(取决于图片方向)

技巧-Linux内核参数调整办法

技巧 -Linux内核参数调整办法 ulimit设置 ulimit -n 要调整为100000甚至更大. 命令行下执行 ulimit -n 100000即可修改.如果不能修改,需要设置 /etc/security/limits.conf,加入 * soft nofile 262140 * hard nofile 262140 root soft nofile 262140 root hard nofile 262140 * soft core unlimited * hard core unli

SQL优化技巧

我们开发的大部分软件,其基本业务流程都是:采集数据→将数据存储到数据库中→根据业务需求查询相应数据→对数据进行处理→传给前台展示.对整个流程进行分析,可以发现软件大部分的操作时间消耗都花在了数据库相关的IO操作上.所以对我们的SQL语句进行优化,可以提高软件的响应性能,带来更好的用户体验. 在开始介绍SQL优化技巧之前,先推介一款数据库管理神器Navicat,官网:https://www.navicat.com.cn/whatisnavicat Navicat是一套快速.可靠和全面的数据库管理工

异常设计及相关技巧

一.嵌套异常的3种情况: 1.含except的嵌套: 就近原则:发生异常时,会被离发生异常的最近地方except捕获并拦截, 异常一旦被except捕获,就死了,这个异常的生命就终结了, 不会向上层的try,再做传递,同时执行就近的try后面的语句. 样例: 2. 含try/finally的嵌套: 异常会传递:异常会向上层嵌套或调用的try传递,直至传递到默认异常 处理器,打印出异常信息 样例: 3. 即含except又含finally的嵌套: 二.异常的几种用法: 所有的错误都是异常,但并不是