粉红猪小妹 发表于 2018-6-8 18:41:56

python tkinter中的canvas怎么保存成一张图片

粉红猪小妹 发表于 2018-6-8 18:45:43

就是用canvas读取了一张图,并且在上面标记了一些点,我想把这个保存成一张新的图片,如何保存呢,

粉红猪小妹 发表于 2018-6-9 09:27:56

最后用的方法是,记住每个点的位置,用其他的库PIL,添加上去的

我叫张大鑫 发表于 2018-10-30 10:44:47

请问你具体怎么实现的

我叫张大鑫 发表于 2018-10-30 10:45:52

我也是canvas上加载图片,在图片上画了矩形 不知道怎么去保存

parry123a 发表于 2018-11-25 22:06:13

同问

粉红猪小妹 发表于 2019-4-9 20:56:50

parry123a 发表于 2018-11-25 22:06
同问

就是记住你要画的那个东西,有PIL库画上去的,但是可能跟canvas画的不太一样。

fcs56123 发表于 2019-5-25 19:20:51

你好,想要请教一下你是如何实现在canvas上对读取的图片进行标点的,并且最后是如何保存的?
方便的话能够看一下代码学习下吗?

java2python 发表于 2020-6-22 13:14:06

本帖最后由 java2python 于 2020-6-22 14:40 编辑

这个能做到吗?
【请珍藏】python tkinter保存canvas画布的三种方法
https://blog.csdn.net/dhjabc_1/article/details/105434658

实际并没有这样的手段,他的第三个方法:
from tkinter import *
from PIL import Image, ImageDraw
from PIL import ImageFont

width = 400
height = 300
center = height//2
white = (222, 222, 220)
green = (0,128,0)
red = (128,0,0)

root = Tk()
cv = Canvas(root, width=width, height=height, bg='white')
cv.pack()
image1 = Image.new("RGB", (width, height), white)
draw = ImageDraw.Draw(image1)
cv.create_line(, fill='green')
draw.line(, green)
draw.line(, red)
#font = ImageFont.truetype("consola.ttf", 40, encoding="unic")# 设置字体
font = ImageFont.truetype("C:\Windows\Fonts\simfang.ttf",40, encoding="utf-8")
draw.text((0, 50), u'你好 World', 'fuchsia', font)

filename = "third.jpg"
image1.save(filename)
root.mainloop()
就是采用往图形作画的同时,也用ImageDraw往image1 里做同样动作,最后保存,实际不是保存canvas的图像,而是保存了image1的内容。实际操作的时候,可以任何动作,通过函数,函数里再:既往canvas作画,又往image1里写,最后当然是保存image1里面的内容,看上去像是canvas被保存下来了
页: [1]
查看完整版本: python tkinter中的canvas怎么保存成一张图片