PIL Tkinter Canvas EPS to PNG转换输出文件包含问题

2024-04-27 03:52:41 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我为我的turtle graphics程序创建了以下save函数,以允许用户使用自己的文件名将画布另存为.png文件:

def savefirst():
    cnv = getscreen().getcanvas() 
    ps = cnv.postscript(colormode = 'color')
    hen = filedialog.asksaveasfilename()
    print(hen)
    im = Image.open(io.BytesIO(ps.encode('utf-8')))
    im = im.resize((2560, 1600), Image.ANTIALIAS)
    quality_val = 95
    sharp = ImageEnhance.Sharpness(im)
    sharp.enhance(2.0).save(hen + '.png', 'PNG')

但是,如果用户要将背景设置为其他颜色,则在输出文件(.png)中,背景颜色不会出现在中。另外,输出图像在曲线周围变得非常粗糙。下面是我的意思,根据画布本身与保存的输出进行比较的屏幕截图:

画布本身的屏幕截图: Canvas

保存的输出: Saved Output

如何解决这些问题,最好是使用Python图像库?如果这不可能,我有没有其他方法可以将我的画布保存为jpeg格式,这样一切都会完美无缺(就像屏幕截图一样,即所有颜色都没有失真)?非常感谢您的大力帮助!在


Tags: 文件用户图像image屏幕png颜色save