9.png详解手机开发

 一、什么是9.png: 
       可能做过任务栏美化的同学都会知道,我靠,framework-res.apk/res/drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。
千万不要以为这个9只是png格式图片的命名区分,其实他是一种特殊的格式,在png图片的基础上动了些手脚,而且这种手脚你会 
看不见摸不着(详情见下面具体内容)。 
       9.png格式的图片是安卓平台上新创的一种被拉伸却不失真的玩意(挺高级的吧),也许有的同学在做美化的时候很喜欢一个图片素材,重命名替换了drawable-hdpi下的素材,但是运行系统后发现,怎么被拉伸得不像样子了,哈哈,这就是9.png图片不能轻易碰的神奇所在,不过不要紧,下面看完你就会了,安卓美化大师就是你了。 
      首先我们还是得介绍一下,9.png图片他的具体不同之处,它的四周与普通的png图片相比多了一个像素位的白色区域,该区域 
只有在图片被还原和制造的时候才能看到,当打包后无法看见,并且图片的总像素会缩小2个像素,比如23×23像素的9.png图片被 
打包后会变成21×21像素。所以我们在制作的时候要注意掌握尺寸。 

       当我们制作出9.png图片的时候你还有惊奇的发现一个几KB或者几十KB的图片,变得非常的小,一般只有几百个字节那么大,              

系统加载起来当然会更加的流畅咯。 




重要声明,该制作工具均需要搭建java运行环境,就是下载jdk安装,并在计算机属性中搭建环境变量,具体操作本帖就不讲了, 


网上找一下如何搭建环境变量就有了。 




二、如何制作9.png图片素材: 




       1、下载工具:  draw9patch.zip 该工具SDK中自带。 


       2、解压,执行draw9patch.bat,会出现如图: 


9.png详解手机开发




       3、将你用PS制作的图片素材,拖到该窗口中,出现如图: 




9.png详解手机开发




            解释:中间黑红条纹部分表示不能编辑,边缘白色透明框就是上述介绍的增加的一像素边框。 


       4、将鼠标放在白色边框,点住左键不放拖动,会出现黑色线条如图: 


              


9.png详解手机开发




             解释:1号黑色条位置向下覆盖的区域表示图片横向拉伸时,只拉伸该区域 


                        2号黑色条位置向右覆盖的区域表示图片纵向拉伸时,只拉伸该区域   


                        3号黑色条位置向左覆盖的区域表示图片纵向显示内容的区域 


                        4号黑色条位置向上覆盖的区域表示图片横向显示内容的区域 


                        没有黑色条的位置覆盖的区域是图片拉伸时保持不变(比如,如果图片的四角为弧形的时候,当图片被任意拉伸时,四角的弧形都不会发生改变)


         5、如果失误多选了部分,可按住shift键,点击鼠标左键去掉黑色条 


         6、右边3个黑色图形区域为显示当前拉伸效果 


         7、选择好区域后,点击左上file-》save 9-path,保存图片,后缀名为xxx.9.png,此时图片效果为: 




9.png详解手机开发



 

 解释:我们可以看见图片的周围多了4个黑色条,不要急这个图片还不能用,这就是原始的9.png图片,当我们进行下一步操作后,这个图片就变得正常了。

去黑边:
解压xUltimate-d9pc-x86.rar压缩包
1.把预处理黑边的图片到目录example1/res/drawable-hdpi下

2.双击xUltimate-d9pc.exe,听到电脑滴的一声,即可完成去黑边(此时的9.png图片内部加载了黑边信息
3.根目下会自动生成done文件,在done/example1/res/drawable-hdpi下,就是我们经过处理的9.PNG图片
4.这个图片就是我们要美化替换的图片

======================================反编辑出来的图片作黑边模版=====================================

1. 解压apktool.zip 压缩包,点安装.bat”,此时会在系统c盘生成几个文件。

3、将你要修改的framework-res.apk(当然也可以是其他系统程序apk文件,如music.apk)重命名为update.apk,并放到c:盘根目录(必须放c:,因为后面执行的批处理文件编写的是在c:工作)

4、执行c:根目录下unpack.bat,此时会在c:生成一个update的文件夹,里面的内容就是你要修改的APK文件,并且当你打开drawable-hdpi文件夹时你会发现里面的9.png图片变得和我们上面制作的相像了,都有4条黑边,这就是该工具将其还原了。

=======================按AIT+TAB键,转换窗口。对照黑边模版,画的黑边速度快,准===============================




Android设计中的.9.png,互联网的一些事

  在Android的设计过程中,为了适配不同的手机分辨率,图片大多需要拉伸或者压缩,这样就出现了可以任意调整大小的一种图片格式“.9.png”。这种图片是用于Android开发的一种特殊的图片格式,它的好处在于可以用简单的方式把一张图片中哪些区域可以拉伸,哪些区域不可以拉伸设定好,同时可以把显示内容区域的位置标示清楚。

  本文结合一些具体的例子来看下.9.png的具体用法。

  首先看下普通的.png资源与.9.png的资源区别:


Android设计中的.9.png,互联网的一些事

  普通的png资源就不多介绍了,可以明显看到.9.png的外围是有一些黑色的线条的,那这些线条是用来做什么的呢?我们来看下放大的图像:


Android设计中的.9.png,互联网的一些事

  放大后可以比较明显的看到上下左右分别有一个像素的黑色线段,这里分别标注了序号。简单来说,序号1和2标识了可以拉伸的区域,序号3和4标识了内容区域。当设定了按钮实际应用的宽和高之后,横向会拉伸1区域的像素,纵向会拉伸2区域的像素。如下图:


Android设计中的.9.png,互联网的一些事

  拉伸的含义应该比较容易理解,但是内容区域的标注有什么意义呢?我们来看下图:


Android设计中的.9.png,互联网的一些事

  这里程序设置的文字垂直居中,水平居左的对齐方式。对齐方式是没有问题的,但是对于这种大圆角同时又有些不规则边框的的图形来说,错误的标注方式会让排版看起来很混乱。所以我们需要修正内容区域的线段位置和长度。


Android设计中的.9.png,互联网的一些事

  把横向的内容区域缩短到圆角以内,纵向的内容区域控制在输入框的高度以内,这样文字就可以正常显示了。

  这里还有一种特殊情况,就是本身是.9.png的资源,但是在修改过程中你希望这张.9.png不能被拉伸(在做皮肤的情况中有可能会遇到),那怎么办呢?只要把拉伸区域的点点在透明像素的地方就可以了,这样拉伸的时候会拉伸透明部分的像素,而不会拉伸图像本身。如下图:


Android设计中的.9.png,互联网的一些事

  大家可以看到拉伸区域的黑点是可以不连续的。

  说了半天.9.png的用法,那.9.png如何输出呢?有很多种方式可以输出.9.png,比如说用draw9patch.bat这个工具,或者简单一点,用photoshop直接输出。输出的方式是先输出普通的png资源,然后扩大画布大小,上下左右各空出一个像素,再用一个像素的铅笔工具(颜色选择纯黑色),上下左右分别画点就可以了,保存的时候注意把后缀修改为.9.png。

  有两点需要特别注意下:

  1.最外围的一圈像素必须要么是纯黑色,要么是透明,一点点的半透明的像素都不可以有,比如说99%的黑色或者是1%的投影都不可以有;

  2.文件的后缀名必须是.9.png,不能是.png或者是.9.png.png,这样的命名都会导致编译失败。

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/5580.html

(0)
上一篇 2021年7月16日
下一篇 2021年7月16日

相关推荐

发表回复

登录后才能评论