`
xp9802
  • 浏览: 1217470 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android 9.png 浅析

 
阅读更多

可能做过任务栏美化的同学都会知道,我靠,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的图片,变得非常的小,一般只有几百个字节那么大, 
系统加载起来当然会更加的流畅咯。 

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

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

       1、下载工具:  draw9patch.zip 该工具SDK中自带。 
       2、解压,执行draw9patch.bat,会出现如图: 


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



            解释:中间黑红条纹部分表示不能编辑,边缘白色透明框就是上述介绍的增加的一像素边框。 
       4、将鼠标放在白色边框,点住左键不放拖动,会出现黑色线条如图: 
              


             解释:1号黑色条位置向下覆盖的区域表示图片横向拉伸时,只拉伸该区域 
                        2号黑色条位置向右覆盖的区域表示图片纵向拉伸时,只拉伸该区域   
                        3号黑色条位置向左覆盖的区域表示图片纵向显示内容的区域 
                        4号黑色条位置向上覆盖的区域表示图片横向显示内容的区域 
                        没有黑色条的位置覆盖的区域是图片拉伸时保持不变(比如,如果图片的四角为弧形的时候,当图片被任意拉伸时,四角的弧形都不会发生改变)
         5、如果失误多选了部分,可按住shift键,点击鼠标左键去掉黑色条 
         6、右边3个黑色图形区域为显示当前拉伸效果 
         7、选择好区域后,点击左上file-》save 9-path,保存图片,后缀名为xxx.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.这个图片就是我们要美化替换的图片

分享到:
评论

相关推荐

    Android防止内存溢出浅析.zip

    以下是对Android防止内存溢出的深入浅析: 1. **Android内存管理机制** - **Dalvik/ART虚拟机**:Android系统使用Dalvik或ART虚拟机执行应用程序,它们都有自己的内存管理策略。 - **堆内存**:Java对象主要存储...

    android登陆验证码浅析代码

    4. **保存为图片**:将绘制好的`Bitmap`转换为`JPEG`或`PNG`格式的图片文件,存储在内存或本地文件系统。 5. **显示验证码**:在Android UI中,使用`ImageView`展示验证码图片,并在输入框旁边提供一个按钮,让用户...

    Android 4 4 Kitkat Phone工作流程浅析 二 UI结构分析 时序图无失真原图

    - `incall_activity_new_sign.png`: 可能是InCallActivity的标识或者其他新的UI元素,用于增强用户识别或提供额外功能。 6. **时序图**: - 虽然未直接提供时序图的文件,但在描述中提到,时序图可能是分析的重点...

    Android应用源码安卓增量更新(差分升级)项目

    - "android 增量升级(附后源码)_初学C码农_新浪博客.pdf" 和 "浅析android应用增量升级 - 何明桂的小窝 - 博客频道 - CSDN.pdf" 是两篇技术文章,可能会详细介绍增量更新的理论和实践,包括具体的实现技巧和注意...

    浅析Android 快速实现图片压缩与上传功能

    MultipartBody.Part formData = MultipartBody.Part.createFormData(Constant.AVATAR, "xxx.png", requestBody); //上传到服务器 // 这样得到formData文件 就可以通过上传文件的方式,上传到服务器上了。 } ``` ...

    浅析什么是URI

    ### 浅析什么是URI #### 一、URI的定义与作用 **URI**(Universal Resource Identifier,通用资源标识符)是一种用于唯一标识互联网上资源的标准方法。它为资源提供了一个可定位、可命名的引用方式,是现代互联网...

    SpannableStringBuilder 用法浅析,仿陌陌表情插入

    1. **准备表情资源**:首先,你需要有一套表情图片,可以是SVG、PNG或者JPEG格式。将它们放在项目的res/drawable目录下。 2. **创建ImageSpan对象**:为每个表情图片创建一个ImageSpan实例。例如: ```java int ...

Global site tag (gtag.js) - Google Analytics