2016-06-02 23 views
0

PILとpythonを使用して4方向のいずれかで5ピクセルの画像をどのように変換できますか?私はim.transform(size, AFFINE, data)を使用することができることを見てきましたが、私はどのようにするべきかわかりません。 method=Image.AFFINEPILを使用して画像を変換する

+0

どのような出力をお探しですか?イメージをラップアラウンドしますか?どのような画像を見せて、これまでに試したことがあるのか​​の例を示すことができますか? –

+0

いいえ、イメージをラップする必要はありません。空白領域は黒色でなければなりません。 – RaviTej310

答えて

2

Image.transform(size, method, data)は(data介し6タプル(a, b, c, d, e, f)として与えられる)のアフィン変換行列を適用した画像のコピーを返します。各ピクセルについて、(x, y)は、出力は(ax+by+c, dx+ey+f)と計算されます。したがって、翻訳を適用する場合は、マトリックスのcfの値だけを調べる必要があります。

from PIL import Image 

img = Image.new('RGB', (100, 100), 'red') 
a = 1 
b = 0 
c = 0 #left/right (i.e. 5/-5) 
d = 0 
e = 1 
f = 0 #up/down (i.e. 5/-5) 
img = img.transform(img.size, Image.AFFINE, (a, b, c, d, e, f)) 
img.save('image.png') 
関連する問題