反编译9.png文件拉伸失真问题
来源:互联网 发布:gopro中文版软件下载 编辑:程序博客网 时间:2024/05/30 23:18
android-XXX9.png文件拉伸不失真大家注意了
什么是9.png:
可能做过任务栏美化的同学都会知道,我靠,framework-res.apk\res\drawable-hdpi 目录下有非常非常多的XXXXXX.9.png图片。(http://www.my400800.cn )
千万不要以为这个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中,就可以使用了。
0 0
- 反编译9.png文件拉伸失真问题
- android-XXX9.png文件拉伸不失真大家注意了
- 关于用.9.png格式处理图标失真问题
- Android PNG渐变背景图片失真问题
- Android PNG渐变背景图片失真问题
- Android PNG渐变背景图片失真问题
- Android PNG渐变背景图片失真问题
- android 代码设置PNG图片失真问题
- Android PNG渐变背景图片失真问题
- Android PNG渐变背景图片失真问题 getWindow().setFormat(PixelFormat.RGBA_8888);
- Android PNG渐变背景图片失真问题 getWindow().setFormat(PixelFormat.RGBA_8888);
- 解决eclipse拉伸图片即后缀名为.9.png的图片问题
- 反编译9.png图片还原
- 解决图像拉伸后失真
- .9.png右下边边框(黑条)没有完全拉伸导致图片不能完全覆盖背景的问题
- 读取.9.png图像的黑色拉伸条
- android .9.png保证图片拉伸后内容不变形
- Android设计中的.9.png,某个方向上拉伸
- 服务器组架构(研发)
- JAVA的StringBuffer类
- javaweb的Servlet
- 读书的层次
- springmvc post、get中文乱码
- 反编译9.png文件拉伸失真问题
- 操作系统--调度学习笔记(4)--多处理器和实时调度
- MATLAB入门教程之MATLAB的基本知识
- 【Linux4.1.12源码分析】vxlan报文发送之udp_tunnel_xmit_skb
- 相机针孔模型----从世界坐标系,到相机坐标系,再到图像物理坐标系,最后到图像像素坐标系的转换过程解析
- 尾调用优化
- Fresco基本使用
- 详解路径层和裁剪区域应用
- AngularJS的directive指令执行流程学习