android 什么是9.png

什么是9.png:

可能做过UI美化的同学都会知道,

framework-res.apk\res\drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。

千万不要以为这个9只是png格式图片的命名区分,其实他是一种特殊的格式,在png图片的基础上动了些手脚,而且这种手脚你会 看不见摸不着(详情见下面具体内容)。

 9.png格式的图片是安卓平台上新创的一种被拉伸却不失真的玩意(挺高级的吧),

也许有 的同学在做美化的时候很喜欢一个图片素材,重命名替换了drawable-hdpi下的素材,但是运行系统后发现,怎么被拉伸得不像样子 了,

哈哈,这就是9.png图片不能轻易碰的神奇所在,不过不要紧,下面看完你就会了,安卓美化大师就是你了。

首先我们还是得介绍一下,9.png图片他的具体不同之处,

它的四周与普通的png图片相比多了一个像素位的白色区域,该区域 只有在图片被还原和制造的时候才能看到,

当打包后无法看见,并且图片的总像素会缩小2个像素,比如23x23像素的9.png图片被 打包后会变成21x21像素。

所以我们在制作的时候要注意掌握尺寸。 当我们制作出9.png图片的时候你还有惊奇的发现一个几KB或者几十KB的图片

,变得非常的小,一般只有几百个字节那么大, 系统加载起来当然会更加的流畅咯。

 android tools下面有一个draw9patch.bat ,可以将一个png图片变成一个由9个补丁(patch)组成的png。

并命名为9.png 内部原理: android会自动将.9.png的文件当做 9 patch文件来处理,9.png的文件就是一个png文件,

其特殊之处在于周围一圈的框框由 0x00000000或者 0xffffffff 组成,即有一圈黑白框,

黑框所框住的地方是会被resize的,另外的4个角不会被resize, 而上下左右的四块,会被单向resize。这对于一些按钮的png十分有好处,

可以保持四周的圆角尺寸不变,而中心放大。 draw9patch.bat的使用方法是,

打开一个普通的png图,然后将四周的中心用鼠标点上。再保存。在右边可以看到缩放后的效果。

{注意,对于从别人apk中破解9.png的时候,android编译器已经将9.png的边框去掉了,所以还要再使用draw9patch.bat自己整一下。}

然后在android eclipse中,将9.png的图片放到drawable中,就可以使用了

 

ps:左、上交叉的区域是拉伸区域,即横向拉伸和纵向拉伸。

右、下交叉区域是内容填充区域。

 

posted @ 2011-10-28 12:14  青香蕉  阅读(2227)  评论(0编辑  收藏  举报