早期的设计风格都比较写实,
在处理一些按钮或可拉伸图标以及气泡对话框和主题设计的时候png图片在拉伸后边角就会出现失真模糊的状况;
安卓开发中便出现了.9图这种处理方式;
html
咱们能够知道.9.png其实就是png图片处理的啦;
和png不一样的区别在于.9能够拉伸
git
有两种方式github
一、将png图片标注好给到开发让开发用Android Studio自带的制做工具去切工具
举个例子字体
拿上图聊天气泡的切图来举例spa
png设计尺寸要留出足够的拉伸区域;
横向和纵向拉伸区域要留出至少1px(可是尽可能要大一些好设置区域)
特别注意纵向拉伸那个不要放置在右边突出箭头上了否则箭头也会拉伸;
横向和纵向显示区域是根据设计中字体上下左右留白得出来的;
按照右图切图方式里标注出拉伸和显示的位置及尺寸就好~
设计
二、咱们设计师本身切图完了再给到开发code
Google的一位设计师Roman Nurik
开发了一个切.9图的小工具...cdn
这个连接是工具的连接
htm
上图中
左面版是选择png图片资源;选择资源大小(和导出资源一致);命名;
中间面板是设置拉伸区域;内容显示区域;切图留白区域;
右边面板是预览效果面板和下载按钮;
完成后下载就ok~
iOS在处理这种类型的图片要比安卓方便的多;
iOS自身一句代码就能够实现可拉伸处理
- (UIImage *)stretchableImageWithLeftCapWidth:(NSInteger)leftCapWidth topCapHeight:(NSInteger)topCapHeight
这个是 UIImage 的类方法,做用是能建立一个内容区域可拉伸,而边角区域不拉伸的图片
这里面有两个参数须要给到开发:
第一个 leftCapWidth 是指左侧不拉伸的宽度;
第二个 topCapHeight 是指顶部不拉伸的高度;
*它的拉伸原理就是第n+1个像素拉伸
若是咱们设置为左侧不拉伸宽度为8px,那么它就是第9个像素复制向右拉伸;
若是咱们设置为顶部不拉伸高度为10px,那么它就是第11个像素复制向下拉伸;
因此,
咱们只须要告知开发左侧和顶部的不拉伸距离就ok~