Я использую Wand-py (реализация оболочки Wand вокруг ImageMagick), чтобы импортировать некоторые довольно продвинутые SVG и до сих пор видели отличные результаты! Это весь код, который он принимает:
with wand.image.Image( blob=svg_file.read(), format="svg" ) as image:
png_image = image.make_blob("png")
Я только что открыл это сегодня и почувствовал, что это стоит того, чтобы поделиться тем, кто может протиснуться через этот ответ, поскольку прошло какое-то время, поскольку большинство из этих вопросов .
ПРИМЕЧАНИЕ: Технически при тестировании я обнаружил, что вам даже не нужно передавать параметр формата для ImageMagick, поэтому with wand.image.Image( blob=svg_file.read() ) as image:
было всем, что было действительно необходимо .
РЕДАКТИРОВАТЬ: Из попытки отредактировать qris вот какой полезный код, который позволяет использовать ImageMagick с SVG с прозрачным фоном:
from wand.api import library
import wand.color
import wand.image
with wand.image.Image() as image:
with wand.color.Color('transparent') as background_color:
library.MagickSetBackgroundColor(image.wand,
background_color.resource)
image.read(blob=svg_file.read(), format="svg")
png_image = image.make_blob("png32")
with open(output_filename, "wb") as out:
out.write(png_image)