Canvas 的坐标系统是绘图的基础,其中点 (0,0) 位于 Canvas 组件的左上角,X 轴水平向右延伸,Y 轴垂直向下延伸。
绘制上面这些图形时需要简单的几何基础:
从图 2 可以看出,只要矩形确定下来,该矩形的内切椭圆就能确定下来,而 create_oval() 方法所需要的两个坐标正是用于指定该矩形的左上角点和右下角点的坐标。
在使用 create_arc 绘制弧时,和 create_oval 的用法相似,因为弧是椭圆的一部分,因此同样也是指定左上角和右下角两个点的坐标,默认总是绘制从 3 点(0)开始,逆时针旋转 90° 的那一段弧。程序可通过 start 改变起始角度,也可通过 extent 改变转过的角度。
在使用 create_polygon 绘制多边形时,需要指定多个点的坐标来作为多边形的多个定点;在使用 create_bitmap、create_image、create_text、create_window 等方法时,只要指定一个坐标点,用于指定目标元素的绘制位置即可。
在绘制这些图形时可指定如下选项:
from tkinter import * root = Tk() root.title(‘missWjz‘) cv = Canvas(root,background=‘white‘,width=830,height=830) cv.pack(fill=BOTH,expand=YES) #对字体进行初始化,字体样式,字体大小,字体是否加粗 columnFont = (‘微软雅黑‘,18) titleFont = (‘微软雅黑‘,15,‘bold‘) #采用循环打印字体 for i,str in enumerate([‘默认‘, ‘指定边宽‘, ‘指定填充‘, ‘边框颜色‘, ‘位图填充‘]): cv.create_text((130 + i*140,20),text=str, font = columnFont, fill = ‘red‘, anchor = W, justify = LEFT ) #绘制字体 cv.create_text((10,80),text="绘制矩形", font = titleFont, fill = ‘blue‘, anchor = W, justify = LEFT ) #创建列表:图形边框大小 填充色 边框颜色 位图填充 options = [(None,None,None,None), (4,None,None,None), (4,‘pink‘,None,None), (4,‘pink‘,‘red‘,None), (4,‘pink‘,‘red‘,‘error‘)] for i,opt in enumerate(options): cv.create_rectangle((130+i*140,50,240+i*140,120), width = opt[0], #边框宽度 fill = opt[1], #图案填充色 outline = opt[2], #图案边框颜色 stipple = opt[3] #位图填充 )
root.mainloop()
原文:https://www.cnblogs.com/changfan/p/10841884.html