9スライスとは
図形を拡大・縮小するときに、角のスタイルが設定されたものは歪曲して表示されてしまいます。9スライスでは、図形を9つの領域に分けることで元の形を保ったまま拡大・縮小ができます。
事前準備
9スライスに対応した画像を生成します。Romannurikさんが公開しているAndroid Asset Studioを利用します。トップ画面から Simple nine-patch generator を選択し、下のような感じで画像をつくります。
必要なライブラリのインストール
pillowとnine-patchを導入します
pip install pillow
pip install ninepatch
コード
上記で生成した9スライス画像を引数にしてNinepatchオブジェクトを生成します。render()メソッドで縦横のサイズを指定して画像を拡大します。
nineSliceTest.py
from ninepatch import Ninepatch
from PIL import Image
bubble = Ninepatch("bubble.9.png")
scaledBubble = bubble.render(600,200)
scaledBubble.show()