Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 14, 2012 18:03:10

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

PIL и геометрическая трансформация изображения

Дело в том, что putalpha полностью заменяет альфа-канал в картинке. Чтобы сохранить исходный, нужно рисовать на нем, т.е. вместо:

mask=Image.new('L', im.size, color=255)
берем исходный альфа канал, для RGBA это 3й:
mask = im.split()[3]
Тут еще неплохо было бы добавить проверку на присутствие альфа-канала в изображении.

P.S.
В коде увидел getattr(Image, ‘BICUBIC’), это необязательно, можно просто Image.BICUBIC.

Офлайн

#2 Июнь 14, 2012 19:12:37

Ska1n
Зарегистрирован: 2012-06-10
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

PIL и геометрическая трансформация изображения

хоспди, всего-то… рукалицо… пасиб большое, уже сутки голову ломаю, как извратиться, а надо было всего ничего…. кстати, а почему при открытие png (сохранялся в фотошопе, как 24), с имеющимся альфа-каналом (картинка прозрачная), pil видит ее, как NonType и приходиться руками конвертировать в RGBA?

Офлайн

#3 Июль 4, 2012 15:37:56

Ska1n
Зарегистрирован: 2012-06-10
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

PIL и геометрическая трансформация изображения

Подскажите, а в PIL вообще существует antialiasing для трансформирования? Скажем, когда линия в 3 пикселя изменяется по диагонали, возможно ли получившуюся лесенку из пикселей сгладить до нормальной глазу полоски?

Офлайн

#4 Июль 4, 2012 17:50:46

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

PIL и геометрическая трансформация изображения

Стандартных средств вроде нет.

google:python pil antialiasing

Отредактировано reclosedev (Июль 4, 2012 17:51:08)

Офлайн

#5 Июль 4, 2012 23:50:24

Ska1n
Зарегистрирован: 2012-06-10
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

PIL и геометрическая трансформация изображения

обгуглился весь, везде в примерах только с применением ресайза, но не трансформа

Офлайн

#6 Июль 5, 2012 18:02:47

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

PIL и геометрическая трансформация изображения

Ska1n
обгуглился весь, везде в примерах только с применением ресайза, но не трансформа
Это да, я и говорю, стандартных вроде нет. Но в гугле много обходных решений: тот же ресайз, aggdraw, и вообще своя реализация рисования линии
http://stackoverflow.com/questions/3122049/drawing-an-anti-aliased-line-with-thepython-imaging-library

Офлайн

#7 Июль 6, 2012 19:45:06

Ska1n
Зарегистрирован: 2012-06-10
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

PIL и геометрическая трансформация изображения

reclosedev
Ska1n
обгуглился весь, везде в примерах только с применением ресайза, но не трансформа
Это да, я и говорю, стандартных вроде нет. Но в гугле много обходных решений: тот же ресайз, aggdraw, и вообще своя реализация рисования линии
http://stackoverflow.com/questions/3122049/drawing-an-anti-aliased-line-with-thepython-imaging-library
пока обошелся ресайзом, надеюсь в дальнейшем не побеспокоит эта проблема)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version