tkinter绘图之Canvas的使用

t k i n t e r 绘图之 C a n v a s 的使用 tkinter绘图之Canvas的使用 tkinter绘图之Canvas的使用

一 创建画布

from tkinter import *
win= Tk()
win.title("创建画布")
win.geometry("600x400")
canvas= Canvas(win,width=200,height=200,bg="#AAAAAA").pack()
win.mainloop()

在这里插入图片描述

二 绘制线条

from tkinter import *
win= Tk()
win.title("创建画布")
win.geometry("600x400")
canvas= Canvas(win,width=600,height=400,bg="#AAAAAA")
line1 = canvas.create_line(*(14,65,66,65),fill="red")
canvas.pack()

win.mainloop()

在这里插入图片描述

三 绘制矩形

from tkinter import *
win= Tk()
win.title("创建画布")
win.geometry("600x400")
canvas= Canvas(win,width=600,height=400,bg="#AAAAAA")
line1 = canvas.create_rectangle(*(14,65,160,160),fill="red")
canvas.pack()

win.mainloop()

在这里插入图片描述

四 绘制椭圆‘

from tkinter import *
win= Tk()
win.title("创建画布")
win.geometry("600x400")
canvas= Canvas(win,width=600,height=400,bg="#AAAAAA")
line1 = canvas.create_oval(*(14,65,160,160),fill="red")
canvas.pack()

win.mainloop()

在这里插入图片描述

五 绘制圆弧

from tkinter import *
win= Tk()
win.title("创建画布")
win.geometry("600x400")
canvas= Canvas(win,width=600,height=400,bg="#AAAAAA")
line1 = canvas.create_arc(*(14,65,160,160),fill="red")
canvas.pack()

win.mainloop()

在这里插入图片描述

六 绘制多边形

from tkinter import *
win= Tk()
win.title("创建画布")
win.geometry("600x400")
canvas= Canvas(win,width=600,height=400,bg="#AAAAAA")
line1 = canvas.create_polygon(*(14,65,160,160,200,300),fill="red")
canvas.pack()

win.mainloop()

在这里插入图片描述

六 绘制文字

from tkinter import *
from PIL import Image, ImageTk

win= Tk()
win.title("创建画布")


win.geometry("600x400")
canvas= Canvas(win,width=600,height=400,bg="#AAAAAA")
line1 = canvas.create_text(200,200,text="hello world!",fill="red")
canvas.pack()

win.mainloop()

在这里插入图片描述

七 绘制图像

import tkinter
tk = tkinter.Tk()
c = tkinter.Canvas()
image = tkinter.PhotoImage(file='test.png')
c.create_image((0, 0), image=image)
c.pack()
tk.mainloop()

在这里插入图片描述

八 拖动图像

# move
canvas.move(rect,10,10)
from tkinter import *
from PIL import Image, ImageTk

def draw(event):
    canvas.coords(rect,event.x,event.y,event.x+90,event.y+90)

def delete():
    canvas.delete("all")


win = Tk()
win.title("创建画布")
win.geometry("600x400")
canvas = Canvas(win, width=600, height=400, bg="#AAAAAA")

rect = canvas.create_rectangle(10,10,100,100,fill="blue")
canvas.grid(row=0,column=0,columnspan=2)
canvas.bind("<B1-Motion>",draw)
win.mainloop()

在这里插入图片描述

九 用鼠标绘制图形

在这里插入图片描述

from tkinter import *
from PIL import Image, ImageTk

def draw(event):
    global text1
    text1 = canvas.create_oval(event.x,event.y,event.x+10,event.y+10,fill="green",outline="")

def delete():
    canvas.delete("all")
    generate()

win = Tk()
win.title("创建画布")
win.geometry("600x400")
canvas = Canvas(win, width=600, height=400, bg="#AAAAAA")

def generate():
    canvas.pack()
    canvas.bind("<B1-Motion>",draw)

Button(win,text="clear",command=delete).pack(side="bottom")
generate()
win.mainloop()

十 设计动画

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值