# coding=UTF-8
import Image
import ImageDraw
import math
# 画像のぼけた円で切り取る
#xx=i/w-.5; yy=j/h-.5; rr=xx*xx+yy*yy; 1-rr*4
img1 = Image.open("sf.jpg")
img2 = Image.new("L", img1.size, 1)
for ly in range(img2.size[1]):
for lx in range(img2.size[0]):
img2.putpixel((lx,ly),
int((1-(pow(lx/float(img2.size[0])-0.5, 2)+
pow(ly/float(img2.size[1])-0.5, 2))*4)*255))
img1.putalpha(img2)
# pngで保存
img1.save("sample652a.png")
# 白背景と合成してjpegで保存
img3 = Image.new("RGB", img1.size, "#ffffff")
img3.paste(img1, mask=img1)
img3.save("sample652b.jpg")
元画像(sf.jpg)
出力画像1(sample652a.png)
出力画像2(sample652b.jpg)
関連項目
Python Imaging Libraryまとめ
Python Imaging Libraryで画像の端を半透明にぼかす
Python Imaging Libraryで画像をぼかした円で切り取る
No comments:
Post a Comment