12

在 a 上绘制的线条Tkinter.Canvas并不平滑。如何使它们变得光滑?

这是我尝试过的:

 from Tkinter import *
 root = Tk()
 cv = Canvas(root,bg = 'white')
 rt1 = cv.create_rectangle(10,10,110,110,width = 8,tags = ('r1','r2','r3'))

 def printRect(event):
     print 'rectangle'
 def printLine(event):
     print 'line'

 cv.tag_bind('r1','<Button-1>',printRect)
 cv.tag_bind('r1','<Button-3>',printLine)
 cv.create_line(10,20,200,200,width = 5,tags = 'r1')
 cv.pack()
 root.mainloop()

这是它的样子:

示例代码的 tkinter 输出

4

3 回答 3

8

Tkinter图形没有抗锯齿,这就是对角线出现锯齿状的原因。可能有一个特定于平台的解决方法,比如我发现的标题为在 Tkinter/Windows 下绘制抗锯齿图形以提供您想要的功能。

于 2012-09-15T10:52:37.007 回答
1

您可能会尝试通过在第一条线之前(下方)绘制一个颜色更清晰、大一像素的第二条线来对穷人进行一些抗锯齿处理。

于 2018-12-02T06:16:53.087 回答
0
  1. 绘制抗锯齿图像(使用 Image PIL、numpy、opencv 等)
  2. 在画布上显示图像。
于 2020-12-22T03:49:10.183 回答