私はイメージサイズのテーブルを持っています。 7(66x66,400x400など)のようです。 そして、私は画像の一例を持っています。オリジナルは、常に600x532のサイズです。 このオリジナルでは、テレビ、PC、いくつかの製品があります。 この画像のサイズを変更する必要があります。問題ない。しかし、私が比例すると、66x55のようなものが得られます。私が比例関係をしていなければ、イメージは良く見えません。イメージに余分な領域を追加するPython
元の背景は常に白です。イメージの領域を拡張し、残りを白く塗りつぶす方法はありますか? このように:600x532 - > 600x600 - > 66x66など
これは抗作物のようなものです。
EDIT:PILからcrop()を使用し、実際のイメージサイズを超える値を使用して「最小化」する代わりに余分な領域が作成されることがわかりました。しかしそれは黒くなるでしょう。 どのように私はこのエリアを白く塗ることができますか?
EDIT2:ImageDrawとは関係があります。
EDIT3:ImageDrawが解決策であることを知った後、私の問題は解決されました。これを閉じてください。
ここに私の解決策:
import Image, ImageDraw
img1 = Image.open("img.jpg")
img2 = img1.crop((0,0,600,600))
draw = ImageDraw.Draw(img2)
draw.rectangle((0,532,600,600), fill='white')
del draw
img2.save("img2.jpg","JPEG", quality=75)
私は行います次のことは上記と下の余分な作物を作ることです。したがって、写真は真ん中にとどまります。
EDIT4:最終的な解決策
img1 = Image.open("img1.jpg")
img2 = img1.crop((0,-34,600,566))
draw = ImageDraw.Draw(img2)
draw.rectangle((0,0,600,34), fill="white")
draw.rectangle((0,566,600,600), fill="white")
del draw
img2.save("img2.jpg", "JPEG", quality=75)
内部の素敵な例があります。あなたはイメージを表現するために使用していますか?あなたの画像がNumPyの配列の場合、新しい白い画像を作成し、元のピクセルを新しいものにコピーすることは問題ありません。 –
私はPython Image Libraryを使用しています。しかし、私はすでに知っていた。しかし、より良い解決策がある場合、私は聞いて喜んででしょう:) –
あなた自身の質問への答えとして解決策を投稿してください。その後、あなたはそれを自分で閉じることができます(24時間後)。 –