python用于绘制弧形的函数,如何用python画一个圆

大家好,小编来为大家解答以下问题,python用于绘制弧形的函数,如何用python画一个圆,现在让我们一起来看看吧!

大家好,小编来为大家解答以下问题,python用于绘制弧形的函数,如何用python画一个圆,现在让我们一起来看看吧!

18.2.14 create_arc(*args, **kw)
*args 可以是一个(x1, y1, x2, y2)的矩形元组,也可以是4个坐标参数x1, y1, x2, y2。其他的参数都会产生tcl.Errorpython爱心代码加人名python中turtle画蝴蝶。*args实际上就是传入一个矩形的左上与右下坐标,在定义的矩形范围内,创建一个弧形(ARC)、扇形(PIESLICE)或弓形(CHORD)。新创建的对象位于显示的最前端。创建成功后返回该对象的 ID
(1)*args :定义要创建对象的边界(x1, y1, x2, y2)
(2)**kw: kw选项的具体含义:

选项含义
activedash当鼠标移动到对象边线上面的时候,绘制虚线轮廓线
activefill当鼠标移动到对象上面的时候,填充的颜色
activeoutline当鼠标移动到对象上面的时候,绘制轮廓线的颜色
activeoutlinestipple当鼠标移动到对象上面的时候,指定填充轮廓的位图
注:仅在直线边框上有效,对弧线无效。
activestipple鼠标位于对象上时,指定填充位图。
注:对含有弧线的图形无效。
activewidth当鼠标移动到对象上面的时候,指定边框的宽度。
dash绘制虚线轮廓线。默认是实线轮廓线。
disableddash当对象状态为 DISABLE 的时候,绘制虚线
disabledfill当对象状态为 DISABLE 的时候,填充的颜色
disabledoutline当对象状态为 DISABLE 的时候,绘制轮廓线的颜色
disabledoutlinestipple当对象状态为 DISABLE 的时候,指定填充轮廓线的位图
注:仅在直线边框上有效,对弧线无效。
disabledstipple当对象状态为 DISABLE 的时候,指定填充轮廓的位图
注:对含有弧线的图形无效。
disabledwidth当对象状态为 DISABLE 的时候,指定边框的宽度
extent指定跨度(从 start 选项指定的位置开始到结束位置的角度)。默认值是 90
fill指定填充的颜色,空字符串表示透明
offset指定填充位图的定位方式,如果图形含有弧线边框的图形,此参数无效
outline指定轮廓线的颜色
outlineoffset指定当用位图绘制轮廓线时位图的定位方式,该选项的值可以是:“x,y”, “#x,y”, N, NE, E, SE, S, SW, W, NW, CENTER
outlinestipple指定一个位图来绘制边框,默认值是空字符串,表示黑色。弧线部分的边框无法使用位图绘制。
start指定起始位置的偏移角度
state指定该对象的状态,可以是 NORMAL,DISABLED(不可用,不响应事件)和 HIDDEN(隐藏)。默认值是 NORMAL
stipple指定一个位图用于填充图形。默认值是空字符串,表示实心。对于含有弧线的图形,无法使用该属性。
style指定该方法创建的是扇形(PIESLICE)、弓形(CHORD)还是弧形(ARC),默认创建的是扇形
tags为创建的对象添加标签
width指定边框的宽度
18.2.14.1 activedash
鼠标移动到对象的轮廓线上时,绘制虚线。在对象外或者对象内,都不绘制虚线。
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,activedash=True,width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
在这里插入图片描述
说明:activedash属性与其他的active相关的属性组合的时候,可能鼠标位于对象的内部,也会绘制虚线。
18.2.14.2 activefill
鼠标位于对象内部的时候,填充颜色。鼠标移到对象外面的时候,恢复原状。activefill 与activedash组合的时候,鼠标位于边线后者对象内部,都会绘制虚线。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,activedash=True,
              activefill='red',width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.3 activeoutline
鼠标位于对象边线的时候,轮廓线的颜色。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,
              activeoutline='yellow',width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.4 activeoutlinestipple
鼠标位于边线上时,轮廓线的底纹位图。不过只对直线的轮廓线有效,弧线不起作用。
内置的底纹位图选项有:
‘gray75’, ‘gray50’, ‘gray25’和’gray12’
在这里插入图片描述

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,
              activeoutlinestipple='gray25',width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.5 activestipple
鼠标位于对象上时,对象的填充位图。对含有弧线的图形无效,因此此参数对扇形一类的图像无效。
18.2.14.6 activewidth
当鼠标移动到对象上面的时候,指定边框的宽度。这个宽度不是边线的宽度,而是外框的宽度。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,activewidth=10,width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
在这里插入图片描述
18.2.14.7 dash
绘制虚线边框。如果不设置此参数,创建图形的时候边框是实线的。dash的参数是一个整数,Boolean,或者一个元组。dash的图案有三种:
在这里插入图片描述

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,dash=(1,2),width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,dash=(1,3,5,7),width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,dash=(1,3,5),width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
虚线的绘制,只有以上三种情况。根据需要调整元组里面的参数就可以了。
18.2.14.8 disableddash
和avtivedash的使用方法一样,不过对象的state是tk.DISABLED时绘制虚线轮廓。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,disableddash=True,
              state=tk.DISABLED,width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.9 disabledfill
和avtivefill的使用方法一样,不过对象的state是tk.DISABLED时填充指定的颜色。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,disabledfill='red',
              state=tk.DISABLED,width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.10 disabledoutline
和avtiveoutline的使用方法一样,不过对象的state是tk.DISABLED时按指定的颜色绘制轮廓线。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,disabledoutline='red',
              state=tk.DISABLED,width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.11 disabledoutlinestipple
和avtiveoutlinestipple的使用方法一样,不过对象的state是tk.DISABLED时按指定的填充图案绘制轮廓线。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,state=tk.DISABLED,
              disabledoutlinestipple='gray25',width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.12 disabledstipple
和avtivestipple的使用方法一样,不过对象的state是tk.DISABLED时按指定的填充图案绘制对象内部。不过如果对象含有弧线边框的话,此参数无效。因此对应扇形一类的图形,此参数无效。
18.2.14.13 disabledwidth
和avtivewidth的使用方法一样,不过对象的state是tk.DISABLED时按指定边框的宽度。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,state=tk.DISABLED,
              disabledwidth=10,width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.14 extent
绘制对象的角度。默认值是90度。也可以选择其他的角度比如220度。如果extent=360,会绘制一个圆形吗?非常遗憾,并不是一个圆,而是一条直线。因为360度与0度是一个意思,在这里相对于张开的角度是0度,因此是一条直线。如果大于360度,则进行360取余运算后再进行绘制。比如extent=380与extent=20是一样的效果。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,extent=220,width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.15 fill
指定填充颜色。默认是使用父窗口的背景色。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,fill='red',width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
那么fill与activefill以及disabledfill哪个优先级要高呢?答案是fill的优先级最低。如果设置了activefill或者disabledfill,那么在满足条件的情况下,会优先使用activefill或者disabledfill设定的颜色。
18.2.14.16 outline
指定轮廓线的颜色。与fill一样,如果同时设定activeoutline或者disabledoutline,那么outline的优先级最低。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,200,200,outline='red',width=5)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.17 outlineoffset
指定当点画模式绘制轮廓时位图的定位方式。可能的取值包括:“x,y”, “#x,y”, N, NE, E, SE, S, SW, W, NW, CENTER。该参数与outlinestipple配合使用。
18.2.14.18 outlinestipple
指定填充边框的位图。只对直线有效,弧线无效。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,60,250,250,outlinestipple='@x.xbm',
              outlineoffset='w',width=30)
b1.pack()
tk.Entry(root).pack()
root.mainloop()
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(20,30,250,250,outlinestipple='@x.xbm',
              outlineoffset='e',width=30,extent=180)
b1.pack()
tk.Entry(root).pack()
root.mainloop()

结果:
在这里插入图片描述
在这里插入图片描述
说明:1)位图文件除了内置的图形外,也可以使用自定义的文件。方法是@+文件名。
2)上面的示例中分别使用了’w’和’e’的定位方式,可以看到位图的起始点是不同的。相当于一个左对齐(w)和一个右对齐(e)。
18.2.14.19 start
指定图案的起始角度。默认的情况是从定义的矩形的中心开始,从右向左开始绘制的。也可以指定起始的角度,比如start=45。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,173,200,fill='red',start=45,width=5)
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
18.2.14.20 state
指定图案的状态。有三种:
(1)NORMAL。正常状态,可见,可选中,绑定的函数可以调用
(2)DISABLED。禁止状态,可见,但是不可以选中,绑定的回调函数不起作用
(3)HIDDEN。隐藏状态。不可见。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
def hidden():
    b1.itemconfigure(arc1,state='hidden')
def show():
    b1.itemconfigure(arc1,state='normal')
b2=tk.Button(root,text='Hidden',command=hidden)
b2.pack()
b3=tk.Button(root,text='Show',command=show)
b3.pack()
b1=tk.Canvas(root)
arc1=b1.create_arc(10,10,173,200,fill='red',width=5)
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
说明:以上代码实现图像的显示以及隐藏。点击’Hidden’按钮隐藏扇形,点击’Show’则显示图形。
18.2.14.21 stipple
指定图形内部要填充的位图。不过对arc一类含有弧线的图案,stipple参数不起作用。
18.2.14.22 style
指定该方法创建的是扇形(PIESLICE)、弓形(CHORD)还是弧形(ARC)。默认是扇形。

import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,173,200,style=tk.PIESLICE,
              start=45,width=5)
b1.pack()
root.mainloop()
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,173,200,style=tk.CHORD,
              start=45,width=5)
b1.pack()
root.mainloop()
import tkinter as tk
root=tk.Tk()
root.geometry('320x240')
b1=tk.Canvas(root)
b1.create_arc(10,10,173,200,style=tk.ARC,
              start=45,width=5)
b1.pack()
root.mainloop()

结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
18.2.14.23 tags
定义图像的标签,相当于别名。也可以通过其他的方式添加标签。
18.2.14.24 width
指定边框的宽度。在前面的代码中,已经有介绍与使用了。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值