2013-12-12 2 views
5

私はグーグルで、PILライブラリのドキュメンテーションなどをチェックしましたが、私は簡単な質問に対する答えを見つけることができませんでした:どのようにして既存のイメージを所望の色で塗りつぶすことができますか?python imaging library:画像を1色で塗りつぶすことはできますか?

このコマンドは、所望の色

image = Image.new("RGB", (self.width, self.height), (200, 200, 200)) 

で満たされ、新しいイメージを作成します。しかし、私は呼び出しの必要性「新なく、同じ画像を再利用したいと思います(私はfrom PIL import Imagefrom PIL import ImageDrawを使用しています) 「毎回

編集:

ワンOpenCVのためのsetToのように、1つの背景色と画像全体を埋めるためにノー簡単な方法がある可能性が

draw.rectangle([(0,0),image.size], fill = (200,200,200)) 

を使用するように、draw = ImageDraw.Draw(image)後に、ですが、私は驚いています。

答えて

5

あなたが試みた:box 2組与え左上、左を規定4タプル、上部、右、及び下の画素座標、又はなし(同じであってもよい

image.paste(color, box) 

をあなたがイメージ全体を埋めるためにしたいので(0、0))

として、次のものを使用することができます。

image.paste((200,200,200), [0,0,image.size[0],image.size[1]]) 
+0

@Antonioええ、ないと思います。あなたがここで言った方法が最善の策のように思えるか、上に載せた 'paste'メソッドを試してから、そのイメージを再描画する必要があります。それがうまくいけば好奇心が強い(PILは使わない)。 'image.paste(color、box)' 'draw = ImageDraw.Draw(image)' – ryrich

+0

質問に以前のコメントを入れました。詳細を入力するには、 'image.paste((200,200,200)、[0,0、image.size [0]、image.size [1]])'があります。それはうまく動作します、ありがとう! – Antonio

関連する問題