.9.PNG是啥?

文 | 豆豆

来源公众号 | 写给设计 (ruodesign)

Hi,亲爱的设计师:

今天,是你2018年上班的第二天,怎么样?是不是精神饱满,干劲十足呢?我们总会是在新一年的开始,给上一年画上一个句号,不管是不是圆满。生活嘛,总是要从新开始的。

今天,有朋友问了一个问题:点九切图要怎么切呢?我明白原理,可是怎么切法确实有些不明白。

点九(.9.PNG),对UI设计师来说,不常用到,但用到的时候却是很重要。

刚入行时,开发那边就告诉我:这个图,你要用点九来切。嗯,点九,啥是点九?我在开发那边不好意思问,点点头:“没问题”。

然后赶紧回来X度,介绍的不少,可是还是看的稀里糊涂的。按照网上说的方法切、切、切,完了自信的交给开发。开发用怀疑的口吻问我:不行啊,你是不是切的不对啊,你看,这、这,还有这都变形了。

额,.9.png,你真的好烦人啊!

点九,具体是个什么东西呢?咳咳,这个嘛,这个......它是Android系统特有的一种图片格式,文件扩展名为.9.PNG。废话,要是IOS有,负责IOS的开发不早告诉我了!(一脸的不屑!)

1.什么情况下可以用到点九图呢?

我们先来看一个例子,这里是一个圆角矩形:

因为Android有太多的分辨率了,当圆角矩形控件在被拉伸放大的时候,圆角的部分就会出现模糊的情况。而点九切图就不同,它可以保证不管你上下还是左右拉伸,放大都可以保持原有的清晰度。

而且,你仔细比较一下,会发现:普通的拉伸效果,圆角部分也跟着变大了;点九下的效果圆角部分,原来是多大就还是原来的样子。

(呼,解释还真累人~)

2.点九切图的原理是什么?

点九,就是将图片横向和纵向随意进行拉伸,却可以保留像素的精细度、渐变质感和圆角的大小不发生变化,以实现多分辨率下的完美显示效果。

九宫格,你肯定知道,就是把一张图片,分成九个部分:4个角落、4个边和1个中心部分。

我们在微博当中发的图片,就是九宫格样式的。

同样的道理,点九切图法,就是相当于把一张png图分成了9个部分(九宫格)。这样就可以保证在不同的分辨率下,以及在界面改变方向后,界面上的图形不会因为长宽的变化而产生拉伸,造成图形的失真变形。

(还是不明白!)

盖房子的你知道吧?你要盖一座房子,不对,是已经盖好了。但是现在你觉得小了点,想再宽一点,再长一点,你怎么办?

A.全部拆了重新盖;

B.我只拆四个角,然后延长,再把四个角按照原来的样子重新垒好。

你选哪个?当然是B了。

现在,你盖的房子更宽了,也更长了,四个角的大小变了吗?除了位置,大小还是原来的样子。你只不过是把中间的部分增加了而已。

(这样好理解了吗?)

那么,通过上面的例子,我们大体知道了:哪里是可以拉伸的,哪里是不需要拉伸的?

你可以把这个当做一个俯瞰下的房子。

(1)1.3.7.9这四个部分,是屋角,要保持原来的样子,所以是不拉伸的;

(2)5,这一部分是房子的里面,放东西和住人的,要随着长宽的变化而变化的,身不由己,没办法;

(3)2.4.6.8这四个部分,是四面墙,是可以拉伸的。前面说的就是这部分的变化。(它们的拉伸,就相当于是5这块被拉伸了。)

那具体我们可以总结为:圆角(不需要拉伸)、除了圆角之外的边(需要拉伸)。

(噗~~~我有点缺氧!)

3.怎样操作?

我们以对话框举例说明:

首先,我们简化一下切图文件,“点九”图片拉伸1个像素与拉伸10个像素效果上是没有区别的,所以尽量缩小图片的尺寸。

在这里,我标注了每一部分是什么:

(1)1和2是横向和纵向拉伸的区域;

(2)3和4是内容在横向和纵向要显示的区域。

你可以看到,上下左右都有一个黑色的线段。

你要问了,那个对话框凸出来的那个角怎么办的呢?

首先,它跟圆角一样,是不能被拉伸的(要不就变形了)!这点你要记住了。你看到我画的线段2了吗?标线2的上端的开始,正好是那个角的下端。也就是说,我纵向拉伸的区域,是不包括那个角的。

你在看右边的4,为什么涵盖了三角呢?4是什么?是纵向显示的内容区域,也就是说,如果你在里面写一段话,纵向上扩展,向上我可以扩到三角的那个位置(当然,你也可以选择不可以,看你的排版,如果觉得好看的话!)。

你还需要注意:

(1)你的.9.png必须绘有拉伸区域的黑线;

(2)黑线1和3的高度必须是1px,2和4的宽度必须是1px.

(2)手绘的黑线拉伸区必须是#000000,透明度100%,并且图像四边不能出现半透明像素;

4.显示内容区域的标注有什么意义呢?

你可能会问:我拉伸四个边,只需要标注两个边就可以了呀,就是1和2,也就是上和左的位置,下和右不就同时拉伸了吗?我再标下和右(3和4)没有什么意义了呀?

上面我们也提到了这个,那再我给你举个例子:

在这里,你会看到,当你标注了内容显示的区域(下和右位置)的时候,即便做了拉伸,文字也会保持在这个区域内。而如果你没有标注内容显示区域的时候,就会使这样子:

错误的标注方式会让排版看起来很混乱。所以我们需要修正内容区域的线段位置和长度。

把横向的内容区域缩短到圆角以内,纵向的内容区域控制在输入框的高度以内,这样文字就可以正常显示了。

5.我可以使用什么工具切出来呢?

嗯,有很多种方式可以输出.9.png。

(1)使用draw9patch.bat这个点九切图工具;

(2)使用cutterman插件

(3)自己动手,丰衣足食:用photoshop直接输出。

在这里要提醒一下:如果你用插件来切图,有的时候开发那边是用不了。最好还是,你自己动手,在PS里切出来。

对于使用draw9patch.bat和插件来切图,我在这里不做过多的介绍,如果你想了解,可以X度。

我们主要讲一下自己动手,丰衣足食(在PS里怎样操作)?

(1)你先输出普通的png文件,用选区工具选取尽可能多的拉升部分加以删除,也就是说,可有可无的部分,就是无。(节省资源吗~浪费是可耻的,也是毫无意义的呀!)

(2)然后,把剩下的这些可有的内容拼成一个整体。

(3)把画布上下左右各扩大1各像素。

(4)用一个像素的铅笔工具(颜色选择纯黑色),上下左右分别画黑色线段就可以了。(你要注意圆角部分,你的文字内容区域部分......)

(5)最后,保存为.9.PNG格式的文件就可以了。注意别保存错了格式。

最后,还是要提醒一下你:1px线段必须是纯黑色(#000000),一点点的半透明都不可以有(你所标注的黑色线段,在程序最终输出的效果中不会被显示,请放心)。

(是不是很容易呢?哎呀,我有点小得意,哈哈~)

6.最后一个问题:有阴影怎么办?

对于有阴影的的控件,如果你不考虑阴影,往往会造成一些错误,比如文字的排版和预想的不一致。

你会看到(什么?你看不到?拜托,可以放大下吗?),原本居中的文字,在实际开发过程中向下移动了。这是因为我们画点九的时候,把投影的高度也画进去了,所以视觉上文字就偏下了。

所以:切图时,内容显示区域的高度要避开投影区域,这样可以保证文字视觉的居中。

写在最后:

合理的运用“点九”切图,会给你和安卓开发人员带来很多的方便,而且还可以大幅的减少资源的大小。

对于点九切图,不要觉得它很麻烦,其实当你真的上手一遍的时候,会发现它很简单!不管你怎样去做,都可以去尝试,探求更省时省力的办法。

好了,不多说了。希望写给设计的这篇文章对你有一点点的帮助。

在公众号后台留言回复:“点9”(不是在文章留言哦,当然,欢迎留言~),就可以获取“点九”切图工具Draw9patch(Win和Mac都有)。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,332评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,508评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,812评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,607评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,728评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,919评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,071评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,802评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,256评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,576评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,712评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,389评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,032评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,026评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,473评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,606评论 2 350

推荐阅读更多精彩内容

  • 作者:七小蘇 来源:写给设计(ID:ruodesign) QQ群里有朋友问关于.9切图的问题。说是画的没问题,但是...
    有福气的DI雪峰阅读 1,393评论 0 5
  • 9Patch图片介绍 9Patch图片是一种特殊的png图片,以.9.png结尾,它在原始的图片四周各添加一个宽度...
    _iamjerry阅读 4,930评论 0 1
  • 最近很多人在微信群问我点9图怎么切的问题,今天u妹把工作中积累的关于点9切图的经验分享给大家,希望大家可以掌握这些...
    UI严选阅读 19,034评论 3 64
  • 一个案例都经过深入信息搜索、梳理和总结,力求复盘整体的运营出发点和策略。不代表全部真实,但求有所收获。 此前复盘过...
    一城市第三阅读 200评论 0 1
  • 产品卖点不一定是消费者的买点,你看懂了吗? 如果说要跟大家说关于产品的痛点和卖家可能大家都不陌生, 但是要说到“买...
    雨中的悲伤01阅读 214评论 0 0