Android中使用到的四种类型的PNG图片

在整个android中可以存在四种PNG后缀的image文件

1.标准PNG: (ex.应用默认的icon.png)

符合PNG-8标准的PNG图片, 只能做图片, 不能放缩.

2.Android打包处理后的9.png: (ex.应用APK中打包的9.PNG)

为了保证占用空间小,android在资源中删除了标准PNG的大量冗余信息,去除了周边的空白像素,减少了IDAT数据段,

在打包成APK的时候,里面的文件就是不可放缩的9.png, 虽然后缀名还是9.png,但是已经没有放缩功能,并且把边界多的两个像素也去除了.

3.Android不可放缩的9.png:

在drawable中可以找到9.png图片,但是使用Draw 9-patch软件打开会报错,但是可以在drawable中使用,

这些文件只是删除了冗余信息,并且加上了边界的两个像素点,

并没有添加可放缩的flag到文件中,这些文件只能作为打包后的9.PNG使用(但是size会小一些),不能放缩和做背景.

4.Android可放缩的9.png:

可以使用Draw 9-patch软件打开,不会报错,在drawable中使用,android会根据设置的黑色像素点来进行放缩.

有添加可缩放的flag到文件中,可以做为View的背景或者普通的图片显示.在做背景时,可以进行拉伸和放缩.

在做非背景时,比如像ImageView这类设置src图片则不随view变化,按其自身大小显示部分或全部.

 

另:  对9.png后缀文件的解析逻辑及可放缩chunk检查的逻辑     Images.cpp

      对9.PNG判断函数入口: Drawable.java中对”nine-patch”字段的判断

转载于:https://www.cnblogs.com/mobile-veterans/archive/2012/07/20/2600704.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值