2016-10-01 3 views
1
import PIL 
from PIL import Image 

img = Image.open('0009_jpg.jpg') 

width, height = img.size #height is 720 and width is 480 

if height > width: 
    rm_height = abs(height - width) # rm_height = 240 
    x_offset = 0 
    y_offset = rm_height/2 # y_offset = 120 
    tall = height-rm_height # tall = 480 
    img_crop = img.crop((x_offset, y_offset, width, tall)) 

img_crop.save('crop_jpg.jpg') 

выходного изображения 480x360 resulution не 480x480PIL обрезать изображение дать неправильный результат высота

но когда я изменить эту строку

tall = height-rm_height/2 # tall = 600 

выходного изображения квадрат 480x480

это не сделать смысл. что я делаю неправильно. спасибо

ответ

-1

OK после того, как я ищу больше. Теперь я понял из этого post

Криса Кларка (edited по san4ez) ответ:

import Image 
im = Image.open(<your image>) 
width, height = im.size # Get dimensions 

left = (width - new_width)/2 
top = (height - new_height)/2 
right = (width + new_width)/2 
bottom = (height + new_height)/2 

im.crop((left, top, right, bottom)) 

это не высокий. это дно

+0

Что это говорит ??? – physicalattraction

+0

от Криса Кларка, это называется im.crop ((слева, сверху, справа, внизу)) – gongsun

Смежные вопросы