【问题标题】:Python Tkinter Stippling an arcPython Tkinter 点画弧线
【发布时间】:2016-12-04 22:23:31
【问题描述】:

我正在尝试使用 python 在 Tkinter 中制作国际象棋游戏。对于碎片的阴影,我打算使用点画,但是,虽然点画图案出现在其中一个形状上,但它不适用于弧线。以下是相关代码:

from Tkinter import *

master = Tk()
win = Canvas(master, width=800, height=800)

def draw(x, y):    #draws a pawn
    win.create_oval(x-15, y-40, x+15, y-10, fill="#FFFFFF")    #head
    win.create_arc(x-15, y-40, x+15, y-10, style=CHORD, start=225, extent=135, stipple="gray25")    #head shading (not appearing stippled)
    win.create_polygon(x+8, y-12, x-8, y-12, x-15, y-5, x-10, y-5, x-20, y+30, x-30, y+35, x-30, y+40, x+30, y+40, x+30, y+35, x+20, y+30, x+10, y-5, x+15, y-5, fill="#FFFFFF", outline="black")    #body
    win.create_polygon(x-10, y-5, x+10, y-5, x+15, y+15, stipple="gray25")    #body shading (appearing stippled)
    win.pack()
    master.update()

draw(400, 400)

任何帮助将不胜感激。

【问题讨论】:

    标签: python-2.7 tkinter tkinter-canvas


    【解决方案1】:

    看起来这在大多数 Tkinter 版本中是不可能直接实现的,至少在 Windows 平台上是这样。

    发件人:http://www.scoberlin.de/content/media/http/informatik/tkinter/x3009-options.htm

    在“椭圆选项”下:

    "从 Tk 8.0 开始,点画选项在 Windows 平台上被忽略。 要绘制点画椭圆,您必须创建相应的多边形。”

    如果这不是您的情况,文档中还有一条注释说明您需要指定填充以点画椭圆/弧/弦

    在任何情况下,近似弦的多边形都可以。 . .虽然这样做似乎很痛苦。

    【讨论】:

      猜你喜欢
      • 2016-08-25
      • 1970-01-01
      • 2023-02-16
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 2016-02-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多