python: сконвертировать .ps в .jpg
Я сохранил нарисованное на canvas в postscript-файл с помощью встроенной функции postscript(). Вот код:
from tkinter import *
root=Tk()
Can=Canvas(bg="white",width="900",height="900")
Can.create_oval(70,70,90,90,fill="blue")
Can.postscript(file="pos.ps",colormode="color")
Can.pack()
root.mainloop()
И этот postscript-файл пытаюсь преобразовать в рисунок JPG или GIF с помощью python, используя ghostscript и библиотеку wand. Вот код преобразования
from tkinter import *
from wand.image import Image
with Image(filename="pos.ps") as img:
img.format= "png"
img.save(filename="png_file.png")
Вроде преобразовал, но файл, который получилсz в результате преобразование ps в png пустой. Почему файл, который получился - пустой?
Ответы (1 шт):
Автор решения: Fox Fox
→ Ссылка
Вариант, который у меня сработал (без использования .ps):
from tkinter import *
from PIL import ImageGrab
def save():
x = root.winfo_rootx() + canvas.winfo_x()
y = root.winfo_rooty() + canvas.winfo_y()
x1 = x + canvas.winfo_width()
y1 = y + canvas.winfo_height()
ImageGrab.grab().crop((x, y, x1, y1)).save("Image.png")
root = Tk()
canvas = Canvas(root, width=300, height=300)
canvas.create_rectangle(50, 50, 150, 150, fill="blue") # Пример рисования на холсте
canvas.create_rectangle(100, 100, 200, 200, fill="green") # Пример рисования на холсте
canvas.pack()
button = Button(text="Сохранить", command=save)
canvas.grid(row=0, column=0)
button.grid(row=1, column=0)
root.mainloop()