Python Imaging Libraryを使用して画像を角丸四角に切り取るには、以下のコードを実行します。
# coding=UTF-8
import Image
import ImageDraw
# 角丸四角で画像を切り取る
img1 = Image.open("sf.jpg")
img2 = Image.new("RGB", img1.size, "#ffffff")
mask = Image.new("1", img1.size, 1)
draw = ImageDraw.Draw(mask)
rx = 20
ry = 20
fillcolor = 0
draw.rectangle((0,ry)+(img1.size[0]-1,img1.size[1]-1-ry), fill=fillcolor)
draw.rectangle((rx,0)+(img1.size[0]-1-rx,img1.size[1]-1), fill=fillcolor)
draw.pieslice((0,0)+(rx*2,ry*2), 180, 270, fill=fillcolor)
draw.pieslice((0,img1.size[1]-1-ry*2)+(rx*2,img1.size[1]-1), 90, 180, fill=fillcolor)
draw.pieslice((img1.size[0]-1-rx*2,img1.size[1]-1-ry*2)+
(img1.size[0]-1,img1.size[1]-1), 0, 180, fill=fillcolor)
draw.pieslice((img1.size[0]-1-rx*2,0)+
(img1.size[0]-1,ry*2), 270, 360, fill=fillcolor)
del draw
img3 = Image.composite(img2, img1, mask);
img3.save("sample637a.jpg")
元画像(sf.jpg)
出力画像(sample637a.jpg)
関連項目
Python Imaging Libraryまとめ
Python Imaging Libraryを使用して角丸四角を描画する
No comments:
Post a Comment