ninepatch 分析

首先百度下:ninepatch


官网:android
http://developer.android.com/reference/android/graphics/NinePatch.html


libgdx官网:
https://github.com/libgdx/libgdx/wiki/Ninepatches


一个博客简单说明:


http://blog.csdn.net/wangshione/article/details/5899785


首先我们先说一下这个图的目的:


.9后缀的图片为ninepatch的标志,此图为了在图片进行缩放时,上下左右需要保持多大像素不再整体的缩放范围内。
从而保证图片拉大或者缩小不会模糊。


创建方式:
NinePatch patch = new NinePatch(new Texture(Gdx.files.internal("knob.png")), 12, 12, 12, 12);
这句话的意思为:
创建一个NinePatch的图,缩放时左右上下各保持12像素不在整体缩放范围。如下图所示:


我们可以看到整个图被分为了9各部分,这就是名字的来由。


缩放时中间区域进行比例放大。周围的比如左边,意味着如果图片横向放大,则左边保持原来的12像素不变,如此设计在横向拉大时,不会把这12像素点拉开,从而保证轮廓清晰。




libgdx设计的NinePatch接口,便是使用九个图片方位来记录各个区域,从而对整个图局部缩放,来完成整个布局拉大或缩小不失真。


下一讲:
Pack the image using SkinPacker
分析下SkinPacker的实现。


官网:
http://code.google.com/p/libgdx-users/wiki/SkinPacker


敬请期待。

你可能感兴趣的:(android,源码分析,libgdx)