Python/Django PNG, GIF в JPG
Я использую Django 1.6.2 и Python 3.3.5 и подушку 2.3.0.
Каков наилучший способ преобразования изображения png/gif в изображение jpg в Django, чтобы выходной файл был почти таким же, как загруженный файл? (прозрачность => белый)
Я пробовал пару решений, таких как:
import Image
im = Image.open("infile.png")
im.save("outfile.jpg")
или же
from PIL import Image
im = Image.open("file.png")
bg = Image.new("RGB", im.size, (255,255,255))
bg.paste(im,im)
bg.save("file.jpg")
Проблема в том, что я не нашел удовлетворительного решения, которое обрабатывает gif, png (маска с жесткими краями, маска с мягкими краями).
Есть идеи?
РЕДАКТИРОВАТЬ:
Хорошо, я использую ImageKit, что делает именно то, что я хочу сделать.
1 ответ
Использование:
from PIL import Image
im = Image.open("file.png")
bg = Image.new("RGB", im.size, (255,255,255))
bg.paste(im, (0,0), im)
bg.save("file.jpg", quality=95)
- Переходя во второе изображение в
bg.paste(im, (0,0), im)
позволяет альфа-канал им действовать в качестве маски над фоновым изображением. - Координаты
(0,0)
вставьте ваше изображение идеально на ваш фон bg.save("file.jpg", quality=95)
;quality=95
обеспечивает высочайшее качество отPIL