層疊兩個(gè)圖片,img2和img2,alpha是一個(gè)介于[0,1]的浮點(diǎn)數(shù),如果為0,效果為img1,如果為1.0,效果為img2。當(dāng)然img1和img2的尺寸和模式必須相同。這個(gè)函數(shù)可以做出很漂亮的效果來(lái),而圖形的算術(shù)加減后邊會(huì)說(shuō)到。
Image.blend(img1, img2, alpha)這個(gè)function接受一個(gè)參數(shù),且對(duì)圖片中的每一個(gè)點(diǎn)執(zhí)行這個(gè)函數(shù),這個(gè)函數(shù)是一個(gè)匿名函數(shù),在python之類(lèi)的函數(shù)式編程語(yǔ)言中,可以使用lambda表達(dá)式來(lái)完成,如
out = img.point(lamda i: i*1.2) # 對(duì)每個(gè)點(diǎn)進(jìn)行20%的加強(qiáng)method參數(shù):
EXTENT 剪一個(gè)矩形出來(lái)(用以剪切,拉伸,壓縮等操作) AFFINE 幾何防射轉(zhuǎn)換 QUAD 將一個(gè)四邊形映射到一個(gè)矩形 MESH 將多個(gè)四邊形映射到一個(gè)操作
在EXTENT參數(shù)的情況下,data是一個(gè)四元組(x0,y0,x1,y1),表示輸入圖片中需要處理的區(qū)域,size為新圖片的尺寸,是一個(gè)二元組(width, height) 用途:剪貼,拉伸,壓縮等操作
在AFFINE參數(shù)的情況下,data是一個(gè)六元組(a,b,c, d,e,f),其中包含affine轉(zhuǎn)置矩陣的前兩行。對(duì)于輸出圖片的每個(gè)像素(x,y),會(huì)被新值(ax+by+c, dx+ey+f)替換。 用途:反轉(zhuǎn),旋轉(zhuǎn),剪切等
在QUAD參數(shù)的情況下,data是一個(gè)八元組(x0,y0,x1,y1,x2,y2,x3,y3)表示源四邊形的四個(gè)定點(diǎn)的坐標(biāo)值.MESH方式跟QUAD的效果相當(dāng),不過(guò)是對(duì)多個(gè)四邊形進(jìn)行映射操作.
FLip_LEFT_RIGHT 左右倒置 FLIP_TOP_BOTTOM 上下倒置 ROTATE_90 旋轉(zhuǎn)90度(逆時(shí)針) ROTATE_180 旋轉(zhuǎn)180度(逆時(shí)針) ROTATE_270 旋轉(zhuǎn)270度(逆時(shí)針)
返回當(dāng)前圖像的一個(gè)矩形區(qū)域。box參數(shù)是一個(gè)定義了左,上,右,下像素坐標(biāo)的4元元組。
(x, y)為像素在圖片上的位置
可以用list(img.getdata())顯示出來(lái)
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注