**18.2.18 create_oval(bbox, options)
 根据限定矩形 bbox 在画布上创建一个椭圆。
 (1)bbox:定义要创建对象的边界(x1, y1, x2, y2)
 (2)options:创建椭圆的选项。选项的具体含义:
| 选项 | 含义 | 
|---|---|
| activedash | 当鼠标经过椭圆对象边框的时候,绘制虚线 | 
| activefill | 当鼠标经过椭圆对象的时候,填充颜色 | 
| activeoutline | 当鼠标经过椭圆对象的时候,绘制的轮廓线 | 
| activeoutlinestipple | 当鼠标经过椭圆对象的时候,指定填充轮廓的位图 | 
| activestipple | 当鼠标经过椭圆对象的时候,指定填充椭圆的位图 | 
| activewidth | 当鼠标经过椭圆对象的时候,指定边框的宽度 | 
| dash | 指定绘制虚线轮廓线 | 
| dashoffset | 此参数不起作用 | 
| disableddash | 当椭圆对象状态为 DISABLE 的时候,绘制虚线 | 
| disabledfill | 当椭圆对象状态为 DISABLE 的时候,填充颜色 | 
| disabledoutline | 当椭圆对象状态为 DISABLE 的时候,绘制轮廓线 | 
| disabledoutlinestipple | 当椭圆对象状态为 DISABLE 的时候,指定填充轮廓的位图 | 
| disabledstipple | 当椭圆对象状态为 DISABLE 的时候,指定填充椭圆的位图 | 
| disabledwidth | 当椭圆对象状态为 DISABLE 的时候,指定边框的宽度 | 
| fill | 指定填充的颜色,空字符串表示透明 | 
| offset | 指定填充位图的偏移,该选项的值可以是:“x,y”, “#x,y”, N, NE, E, SE, S, SW, W, NW, CENTER | 
| outline | 指定轮廓的颜色 | 
| outlineoffset | 指定绘制轮廓时填充位图的偏移,该选项的值可以是:“x,y”, “#x,y”, N, NE, E, SE, S, SW, W, NW, CENTER | 
| outlinestipple | 指定一个位图来填充边框,默认值是空字符串,表示黑色 | 
| state | 指定该椭圆对象的状态,可以是 NORMAL,DISABLED(不可用,不响应事件)和 HIDDEN(隐藏)。默认值是 NORMAL | 
| stipple | 指定一个位图用于填充椭圆内部, 默认值是空字符串,表示实心 | 
| tags | 为创建的椭圆对象添加标签 | 
| width | 指定边框的宽度 | 
| 18.2.18.1 activedash | |
| 鼠标经过椭圆边框的时候,边框显示为虚线 | 
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval1=b1.create_oval(20,40,150,100,width=10,
                     activedash=True)
b1.pack()
root.mainloop()
结果:
 
 18.2.18.2 activefill
 鼠标位于椭圆区域内的时候,椭圆内部的颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval1=b1.create_oval(20,40,150,100,
                     width=10,activefill='red')
b1.pack()
root.mainloop()
结果:
 
 18.2.18.3 activeoutline
 鼠标经过椭圆边框的时候,椭圆轮廓线的颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval1=b1.create_oval(20,40,150,100,
                     width=10,activeoutline='blue')
b1.pack()
root.mainloop()
结果:
 
 18.2.18.4 activeoutlinestipple
 定义鼠标经过椭圆的时候,填充椭圆轮廓线的填充bitmap。但是因为椭圆的轮廓线是曲线,所以这个参数没有作用。
 18.2.18.5 activestipple
 定义鼠标经过椭圆的时候,填充椭圆的bitmap。因为椭圆含有曲线,所以此参数不起作用。
 18.2.18.6 activewidth
 定义鼠标经过椭圆边框的时候,边框的宽度。如果同时设置了width和activewidth的时候,采用数值大的那个。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval1=b1.create_oval(20,40,150,100,width=10,
                     activewidth=15)
b1.pack()
root.mainloop()
结果:
 
 说明:如果activewidth的数值小于width的数值,则边框的宽度没有变化。
 18.2.18.7 dash
 绘制虚线边框。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval1=b1.create_oval(20,40,150,100,
                     width=10,dash=True)
b1.pack()
root.mainloop()
结果:
 
 18.2.18.8 dashoffset
 此参数不起作用
 18.2.18.9 disableddash
 当椭圆的状态是tk.DISABLED的时候,显示虚线边框。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
def state():
    b1.itemconfigure(oval,state=tk.DISABLED)
b2=tk.Button(root,text='Disabled',command=state)
b2.pack()
oval=b1.create_oval(50,50,90,120,
                    width=5,disableddash=1)
b1.pack()
root.mainloop()
结果:
 
 18.2.18.10 disabledfill
 当椭圆的状态是tk.DISABLED的时候,椭圆的填充颜色。用法参见18.2.18.2 activefill节。
 18.2.18.11 disabledoutline
 当椭圆的状态是tk.DISABLED的时候,绘制轮廓线的颜色。用法参见18.2.18.3activeoutline节。
 18.2.18.12 disabledoutlinestipple
 当椭圆的状态是tk.DISABLED的时候,轮廓线的填充bitmap。不起作用。
 18.2.18.13 disabledstipple
 当椭圆的状态是tk.DISABLED的时候,椭圆填充的bitmap。不起作用。
 18.2.18.14 disabledwidth
 当椭圆的状态是tk.DISABLED的时候,椭圆的宽度。不过此参数有问题,因为不管设置的数值是多少,系统绘制的边框宽度都是1。用法参见18.2.18.6 activewidth节。
 18.2.18.15 fill
 椭圆内部的填充颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval=b1.create_oval(50,50,90,120,width=5,fill='green')
b1.pack()
root.mainloop()
结果:
 
 18.2.18.16 offset
 定义使用bitmap作为底纹填充时候的如何放置bitmap。不过因为绘制椭圆不支持填充bitmap,所以没有效果。
 18.2.18.17 outline
 指定轮廓线的颜色。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
oval=b1.create_oval(50,50,90,120,width=5,
                    outline='red')
b1.pack()
root.mainloop()
结果:
 
 18.2.18.18 outlineoffset
 使用bitmap作为底纹填充轮廓线时候的如何放置bitmap。不过因为绘制椭圆不支持填充bitmap,所以没有效果。
 18.2.18.19 outlinestipple
 指定填充轮廓线的bitmap。不过不起作用。
 18.2.18.20 state
 定义椭圆的状态。有三种:NORMAL、DISABLED和HIDDEN
 18.2.18.21 stipple
 指定填充椭圆的bitmap。不过不起作用。
 18.2.18.22 tags
 给椭圆指定标签。也可以通过其他方法指定。
 18.2.18.23 width
 定义椭圆轮廓线的宽度。





![[引擎开发] 现代图形API - metal篇](https://img-blog.csdnimg.cn/c19d958db1554003a3d8d33cfbf57956.png)













