Android中图片缩放9path图片的使用

Android 9path图片

在Android系统中有一种特殊的图片格式,就是.9.png格式的图片。 这种特殊的图片是谷歌为了处理和优化不同的Android系统在在图片拉伸时而采用的一种图片的拉伸策略

我们知道,Android系统由于其开放的系统特性,被众多手机厂商所采用。但是也面临Android的碎片化的问题。不同手机的分辨率不同,屏幕大小不同,那么对于屏幕适配来说就会出现很大的问题。

一说到屏幕的适配,很大一部分的因素都是图片的显示问题,我们知道,一张图片在拉伸时如果拉伸的比例过大,会出现锯齿、模糊等现象。这样相同的app在不同的手机上所生的效果有的被拉伸变小,有的拉伸过于长。对于用户都有很不好的体验。所以谷歌为了处理这种情况的发生,在Android的sdk中为我们加入了一款工具叫做:draw9patch.bat

工具的界面:

Android中图片缩放9path图片的使用_第1张图片这款工具可以将我们的图片进行缩放时控制所缩放的像素点。 

工具中为我们显示了图片在竖直、水平、正常显示时候的拉伸样子

我们可以在图片的边上来指定一些像素点,在图片缩放的时候只缩放所划定的区域(黑色点的连线)。而没有指定的像素是不会被缩放的。例如:我们指定边框的几个像素点: 

这个工具比较智能,当我们在图片的一边(例如:左边图片的边界)指定像素时,工具会自动把对应边的区域也指定(右边),所以我们在使用的时候只需要置顶左边和上边的边界即可。

在使用中,我们一般指定图片的上下左右的空白像素点,这样做的好处是,由于这些像素点没有像素,所以再拉伸的时候不会影响图片的效果。

关于Android studio 的错误问题:

Error:Can't have more than one marked region along edge.

出现这个异常是因为我在 .9 图的右侧画了两条线,由于 .9 图的上边界和左边界的划线是负责拉伸扩展的,而下边界和右边界划线则是内容区域,所以 .9 图不允许右侧和下边界有两条划线,而左边界和上边界则没有问题


你可能感兴趣的:(Android中图片缩放9path图片的使用)