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
Другие вопросы по тегам