2009-03-08 46 views
0

Ürün düzgün çalışmayı başaramıyor gibi görünüyor, sorun doğru boyutlarda bir bölgeyi kırpıyor, ancak her zaman benim geçiş koordinatlarım yerine sol üst köşeden (0, 0) kırpıyor. PIL, dışarı basılı ettik _ImageCrop yöntemle .. dan image.py olarakPython, PIL, kırpma sorunu

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

:

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

Değerler doğru görünmektedir.

Giriş, 1600x2390 boyutunda bir JPEG imajdır.

Python sürümü: 2.5, PIL sürümü: 1.1.6

herhangi bir öneriniz? Teşekkürler

cevap

1

Şunlar için çalışır: Python 2.6.1, PIL 1.1.6, JPEG boyutu 2020x1338 piksel.

2300x1600 değil, 1600x2390 bir JPEG anlamına mı? (1000,400,2000,600) kutu boyutları, 1600 genişlikte bir resmin boyutunun dışındadır; Bunu denerseniz, kesişen alan dışında çöp veriyorum.

0

I `sonraki yapın:

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) 

veya eğer alışkanlık kullanımına geçmiş PNG gibi:

cover.paste(nazv_vert,box_vert_nazv,nazv_vert)