星期四, 4月 29, 2010

Python PIL 貼圖

如果我沒找到這篇PIL Tutorial: How to Create a Button Generator的話,我不知道還要走多少冤枉路~總之要貼出透明的效果,要在 paste() 時把要貼的那張圖當作第3個參數傳進去,這樣出來的效果就是對的!


# 從指定目錄拿三張圖片出來做小圖,第1張傾斜10度,第3章傾斜-10度,然後在貼到一起,做出類似撲克牌或紙疊在一起的效果。
import glob
import Image

def createThumbnail( filename ):
im = Image.open( filename )
im.thumbnail((96,96), Image.ANTIALIAS )
newImage = Image.new( "RGBA", (144,144) )
newImage.paste( im, (16,16) )
return newImage

for dir in sys.argv[1:]:
files = glob.glob( os.path.join( dir, "*.jpg" ) )

im0 = createThumbnail( files[0] ).rotate( 10 ).crop( ( 0, 0, 128, 128 ) )
im1 = createThumbnail( files[1] ).crop( ( 0, 0, 128, 128 ) )
im2 = createThumbnail( files[2] ).rotate( -10 ).crop( (0, 0, 128, 128 ) )
im0.paste( im1, ( 10, 0 ), im1 ) # 關鍵!!
im0.paste( im2, ( 20, 10 ), im2 )# 關鍵!!
im0.save( "out.png")

沒有留言: