【问题标题】:Drawing anti-aliased lines on Tkinter canvas in python在 python 中的 Tkinter 画布上绘制抗锯齿线
【发布时间】:2013-12-04 22:33:50
【问题描述】:

我在 Windows 7 上使用 Tkinter 和 Python 2.7.3 来开发我的 GUI。作为我的 GUI 的一部分,我正在使用 Canvas.create_line(x0,y0,x1,y0) 绘制线条,但我的线条并不流畅,它就像台阶一样。如何获得平滑的线条?

示例代码:

from Tkinter import *
master = Tk()
w = Canvas(master, width=800, height=600)
w.pack()
w.create_line(100, 100, 400, 300, width=5)
mainloop()

就像在this post 中一样,我不能使用aggdraw,因为我使用的是 2.7,而且我使用了很多画布配置方法。

如果不使用aggdraw,我怎样才能做到这一点?我在create_line 中尝试过平滑选项,但没有用。

【问题讨论】:

  • 为什么aggdraw 不起作用?它应该。
  • 我在 python 2.6 中尝试过它正在工作,但它不在我的选项中..

标签: python python-2.7 tkinter


【解决方案1】:

我真的认为没有比这更顺畅的了。 aggdraw 也不会做得比这更好,因为最终的 平滑度 取决于屏幕的像素大小 (DPI)。尝试从相当远的距离看线,现在增加距离,看到增加的平滑度

【讨论】:

  • 我这里的陈述是一个比较陈述。在同一个屏幕上,一个给得好,另一个不给..所以从远处看和/或增加线长不是我的选择..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-15
  • 2011-08-27
  • 2023-03-29
  • 2011-07-12
  • 1970-01-01
  • 2010-12-19
相关资源
最近更新 更多