最近很多人在微信群問我點9圖怎么切的問題,今天u妹把工作中積累的關于點9切圖的經驗分享給大家,希望大家可以掌握這些切圖方法。
點九圖,是Android開發中用到的一種特殊格式的圖片,文件名以”.9.png“命名。這種圖片能告訴開發,圖像哪一部分可以被拉伸,哪一部分不能被拉伸需要保持原有比列。運用點九圖可以保證圖片在不模糊變形的前提下做到自適應。點九圖常用于對話框和聊天氣泡背景圖片中。
U妹結合一些具體的例子來看下.9.png的具體切圖方法。
這是我截屏自微信和手機QQ的一組聊天對話框,可以看出,不同兩條消息字數不同,長度也不同,但它們采用了相同的背景樣式,這個背景樣式其實是同一張圖片,用到的就是點九圖的方式。
普通的png資源就不多介紹了,可以明顯看到.9.png的外圍是有一些黑色的線條的,那這些線條是用來做什么的呢?我們來看下放大的圖像:
放大后可以比較明顯的看到上下左右分別有一個像素的黑色線段,U妹在這里分別標注了序號。簡單來說,序號1和2表示了可以拉伸的區域,序號3和4表示了顯示內容區域。
當設定了按鈕實際應用的寬和高之后,橫向會拉伸1區域的像素,縱向會拉伸2區域的像素。如下圖:
拉伸的含義應該比較容易理解,但是顯示內容區域的標注有什么意義呢?U妹來帶大家看下圖:
內容區域規定了可編輯內容的顯示區域。例如,對話框是圓角,文字需要被包裹在其內,如果縱向顯示內容區域頂到兩遍,顯示的效果會是如下圖。
這里程序設置的文字垂直居中,水平居左的對齊方式。對齊方式是沒有問題的,但是對于這種大圓角同時又有些不規則邊框的的圖形來說,錯誤的標注方式會讓排版看起來很混亂。所以我們需要修正內容區域的線段位置和長度。
把橫向的內容區域縮短到圓角以內,縱向的內容區域控制在輸入框的高度以內,這樣文字就可以正常顯示了。
點九圖的制作方法:
有很多種方式可以輸出.9.png,比如說用draw9patch.bat這個工具,或者用cutterman插件,再或者簡單一點,用photoshop直接輸出。
(注:切圖插件切出來的點九圖,除一般的一些之外,其他輸出的點9圖給開發都是無法使用的,所以大家多注意,U妹建議大家自己手動切點九圖)
第一步,先輸出普通的png資源,用選區工具選取盡可能多的拉升部分加以刪除。
第二步,然后將這些內容拼接成一個完整的整體。
第三步,然后擴大畫布大小,上下左右各空出一個像素
第四步,再用一個像素的鉛筆工具(顏色選擇純黑色),上下左右分別畫點就可以了,保存的時候注意把后綴修改為.9.png。
這里需要特別注意以下2點:
1.最外邊的1px線段必須是純黑色,一點點的半透明的像素都不可以有,比如說99%的黑色或者是1%的投影都不可以有。(這1PX像素在程序最終輸出的效果中不會被顯示)
2.文件的后綴名必須是.9.png,不能是.png或者是.9.png.png,這樣的命名都會導致編譯失敗。
關于點九切圖的方法U妹就說到這里啦,希望可以給你有很大的幫助;U妹這里說的只是一種工作方法,好的工作方法才能自己事半功倍,在具體工作中也要靈活應用,一定要多和開發溝通交流,良好的溝通才是解決問題的唯一方法,有疑問題也可給U妹留言,我們下期再見!