Python · 实现鼠标绘画

本文章学习:
1、模块tkinter的应用
2、def函数 的应用

一、tkinter简介
tkinter是一个帮助开发者实现GUIPython内置模块

example:from tkinter import *就可以使用

二、主程序

from tkinter import * #导入模块

def paint(event):
    x1,y1 = (event.x - 0.1), (event.y - 0.1)
    x2,y2 = (event.x + 0.1), (event.y + 0.1)
    cv.create_oval(x1, y1, x2, y2, fill = "green") #颜色

root = Tk()
cv = Canvas(root, width = 600, height = 250) #画布大小
cv.pack(expand = YES, fill = BOTH)
cv.bind("<B1-Motion>", paint)

mainloop() #循环

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现一键绘画功能,可以使用Python中的Pillow库和Tkinter库。Pillow库是一个Python图像处理库,可以用于打开、操作和保存多种图像文件格式。Tkinter库是Python的标准GUI库,可以用于创建图形用户界面(GUI)应用程序。 以下是一个简单的Python程序,用于实现一键绘画功能: ```python from tkinter import * from PIL import Image, ImageDraw # 初始化画布 def init_canvas(): global canvas, draw canvas.delete("all") draw = ImageDraw.Draw(image) canvas.pack(expand=YES, fill=BOTH) canvas.bind("<B1-Motion>", paint) # 绘制画笔 def paint(event): global last_x, last_y x, y = event.x, event.y canvas.create_line((last_x, last_y, x, y), width=5) draw.line((last_x, last_y, x, y), fill='black', width=5) last_x, last_y = x, y # 保存绘画结果 def save_image(): filename = filedialog.asksaveasfilename(defaultextension=".jpg") if filename: image.save(filename) # 创建主窗口 root = Tk() root.title("一键绘画") # 创建画布 canvas = Canvas(root, bg='white', width=500, height=500) image = Image.new("RGB", (500, 500), "white") draw = ImageDraw.Draw(image) canvas.pack(expand=YES, fill=BOTH) canvas.bind("<B1-Motion>", paint) # 创建按钮 init_button = Button(root, text="初始化", command=init_canvas) init_button.pack(side=LEFT) save_button = Button(root, text="保存", command=save_image) save_button.pack(side=RIGHT) # 运行主循环 root.mainloop() ``` 这个程序创建了一个GUI窗口,其中包含一个画布和两个按钮。用户可以在画布上使用鼠标绘制画笔,点击初始化按钮可以清空画布,点击保存按钮可以将绘制结果保存为图片文件。 你可以将这个程序保存为一个 Python 脚本文件,然后在命令行中运行它即可。如果你想将这个程序部署到 Web 上,可以使用 Flask 或 Django 等 Web 框架来实现

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值