Python 如何使用tkinter在几何条纹之间绘制条纹线?

Python 如何使用tkinter在几何条纹之间绘制条纹线?,python,tkinter,Python,Tkinter,我想问一下,是否有一种有效的方法(任何数学算法、内置函数)将垂直“条带”放置在椭圆之间。下面是一个示例代码,我想在其中放置条带 from tkinter import * painting = Canvas(root, width = 120, height = 160).pack() painting.create_oval(35,70,85,90, outline = "red",width =3) 您可以通过创建自己的.xbm位图文件(请参阅)使用自定义填充图案,并将其传递到点

我想问一下,是否有一种有效的方法(任何数学算法、内置函数)将垂直“条带”放置在椭圆之间。下面是一个示例代码,我想在其中放置条带

from tkinter import *  


painting = Canvas(root, width = 120, height = 160).pack()
painting.create_oval(35,70,85,90, outline = "red",width =3)


您可以通过创建自己的.xbm位图文件(请参阅)使用自定义填充图案,并将其传递到
点画选项(请参阅)

示例代码:

import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.createWidgets()
        self.pack()

    def createWidgets(self):
        self.painting = tk.Canvas(self, width=120, height=160)
        self.painting.create_oval(35, 70, 85, 90, outline="red", width=3, stipple='@/tmp/stripes.xbm', fill='red')
        self.painting.pack()

root = tk.Tk()
app = Application(master=root)
app.mainloop()
/tmp/stripes.xbm的内容:

#define stripes_width 8
#define stripes_height 1
static unsigned char stripes_bits[] = {
   0x07 };
0x07
=
00000111
是8个像素的二进制表示。颜色由
fill
选项指定

结果:


您可以通过创建自己的.xbm位图文件(请参阅)使用自定义填充图案,并将其传递到
点画选项(请参阅)

示例代码:

import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master=None):
        tk.Frame.__init__(self, master)
        self.createWidgets()
        self.pack()

    def createWidgets(self):
        self.painting = tk.Canvas(self, width=120, height=160)
        self.painting.create_oval(35, 70, 85, 90, outline="red", width=3, stipple='@/tmp/stripes.xbm', fill='red')
        self.painting.pack()

root = tk.Tk()
app = Application(master=root)
app.mainloop()
/tmp/stripes.xbm的内容:

#define stripes_width 8
#define stripes_height 1
static unsigned char stripes_bits[] = {
   0x07 };
0x07
=
00000111
是8个像素的二进制表示。颜色由
fill
选项指定

结果: