Найти - Пользователи
Полная версия: работа с изображением.
Начало » Python для новичков » работа с изображением.
1
saifuddin
Всем привет. Помогите разобраться, как можно изменить размер изображения с сохранением пропорций.
#!/usr/bin/python
from PIL import Image
width = 300
img = Image.open('image.jpg')
ratio = (basewidth / float(img.size[0]))
height = int((float(img.size[1]) * float(ratio)))
img = img.resize((basewidth, height), PIL.Image.ANTIALIAS)
img.save('resized_image.jpg')

Вот этот, код должен работать, но не работает. В чем может быть проблема?

Ошибки:
python text.py 
Traceback (most recent call last):
  File "text.py", line 7, in <module>
    ratio = (basewidth / float(img.size[0]))
NameError: name 'basewidth' is not defined
ajib6ept
В чем может быть проблема?

NameError: name ‘basewidth’ is not defined

Ошибка очевидная, basewidth не определен
saifuddin
basewidth = 300
….

python text.py 
Traceback (most recent call last):
  File "text.py", line 9, in <module>
    img = img.resize((basewidth, height), PIL.Image.ANTIALIAS)
NameError: name 'PIL' is not defined


Помогите, мне написать программу, которая будет менять размер изображения с сохранением пропорций
saifuddin
И, можете подсказать, библиотека PIL случаем не относится к Imagemagick?
Shaman
saifuddin
библиотека PIL случаем не относится к Imagemagick?
Не относится.
py.user.next
saifuddin
NameError: name 'PIL' is not defined
Над from поставь ещё
import PIL
saifuddin
#!/usr/bin/python
import PIL
from PIL import Image
basewidth = 300
img = Image.open('avatar.png')
ratio = (basewidth / float(img.size[0]))
height = int((float(img.size[1]) * float(ratio)))
img = img.resize((basewidth, height), PIL.Image.ANTIALIAS)
img.save('resized_image.png')


Вот рабочий вариант. Все работает. Большое спасибо!
Vigi
Еще бы код в теги оформлять…
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB