Форум сайта python.su
Дело в том, что putalpha полностью заменяет альфа-канал в картинке. Чтобы сохранить исходный, нужно рисовать на нем, т.е. вместо:
mask=Image.new('L', im.size, color=255)
mask = im.split()[3]
Офлайн
хоспди, всего-то… рукалицо… пасиб большое, уже сутки голову ломаю, как извратиться, а надо было всего ничего…. кстати, а почему при открытие png (сохранялся в фотошопе, как 24), с имеющимся альфа-каналом (картинка прозрачная), pil видит ее, как NonType и приходиться руками конвертировать в RGBA?
Офлайн
Подскажите, а в PIL вообще существует antialiasing для трансформирования? Скажем, когда линия в 3 пикселя изменяется по диагонали, возможно ли получившуюся лесенку из пикселей сгладить до нормальной глазу полоски?
Офлайн
Стандартных средств вроде нет.
google:python pil antialiasing
Отредактировано reclosedev (Июль 4, 2012 17:51:08)
Офлайн
обгуглился весь, везде в примерах только с применением ресайза, но не трансформа
Офлайн
Ska1nЭто да, я и говорю, стандартных вроде нет. Но в гугле много обходных решений: тот же ресайз, aggdraw, и вообще своя реализация рисования линии
обгуглился весь, везде в примерах только с применением ресайза, но не трансформа
Офлайн
reclosedevпока обошелся ресайзом, надеюсь в дальнейшем не побеспокоит эта проблема)Ska1nЭто да, я и говорю, стандартных вроде нет. Но в гугле много обходных решений: тот же ресайз, aggdraw, и вообще своя реализация рисования линии
обгуглился весь, везде в примерах только с применением ресайза, но не трансформа
http://stackoverflow.com/questions/3122049/drawing-an-anti-aliased-line-with-thepython-imaging-library
Офлайн