• 什么是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个像素,比如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中,就可以使用了。
  • 相关阅读:
    与红斑痤疮治疗相关的四环素作用
    vue中代码反向代理,从连接本地代理到连接测试服务器
    三元表达式判断数据是否为空后执行内容的 写法
    设计模式
    ASP.NET Core全局异常处理
    前端使用Swiper插件实现用户头像轮播效果
    QT线程、定时器、画家、登录界面代码、QWidget为例
    Leetcode 1248. 统计「优美子数组」(害,突然发现只会暴力枚举了)
    Leetcode 1249. 移除无效的括号(牛逼,终于做出来了)
    Leetcode 1208. 尽可能使字符串相等(终于解决,晚安)
  • 原文地址:https://www.cnblogs.com/hnrainll/p/2249880.html
Copyright © 2020-2023  润新知