0

トリミングが正しく機能していないようです。問題は、渡された座標ではなく、常に左上隅 (0, 0) から正しい寸法の領域をトリミングすることです。

image = Image.open(input)
region = image.crop((1000,400,2000,600)
region.save(output)

PIL の image.py で、メソッド _ImageCrop を印刷しました..:

print x0, y0, x1, y1
self.__crop = x0, y0, x1, y1

値は正しいようです。

入力はサイズ 1600x2390 の JPEG 画像です。

Python バージョン: 2.5、PIL バージョン: 1.1.6

助言がありますか?ありがとう

4

2 に答える 2

0

私は次にします:

cover=Image.open(path_to_cover+"/shablon1.jpg")

...。

def generit_nomer_proekt(self,nomer):
    size_box=(160,40)
    font=ImageFont.truetype('/home/vintello/workspace/mpg_to_dvd/src/cover/ttf/aricyr.ttf',int(30))
    im = Image.new ( "RGB", size_box , "white" )
    draw = ImageDraw.Draw ( im )
    draw.text ( (20,0), unicode(nomer,"utf-8"), fill="#74716f", font=font )
    return im

....。

nazv_vert=self.generit_nomer_proekt(nomer)
coo=nazv_vert.size
left_x=1575
left_y=383
box_vert_nazv=(left_x,left_y,left_x+coo[0],left_y+coo[1])
cover.paste(nazv_vert,box_vert_nazv)

または、PNGとして過去に使用したくない場合:

cover.paste(nazv_vert,box_vert_nazv,nazv_vert)
于 2010-04-20T10:15:13.123 に答える