【python】如何用canvas在自己设计的软件上作画

简介: 【python】如何用canvas在自己设计的软件上作画


前言

python学习之路任重而道远,要想学完说容易也容易,说难也难。

很多人说python最好学了,但扪心自问,你会用python做什么了?

刚开始在大学学习c语言,写一个飞行棋的小游戏,用dos界面来做,真是出力不讨好。

地图要自己一点一点画出来,就像这样:

================
|       |
|       |
|===============

从此讨厌编程,不想继续学下去。每次作业应付。

算法考试,数据结构考试随便背代码,只求通过。

最后呢?我学会变成了吗?只能对一些概念侃侃而谈,但真的会几行代码,能写出实用工具吗?

答案变得模糊。

所以我们要从现在开始,学好python,不要再糊弄下去!!!

Canvas组件

Canas组件是一种基于Java Swing的图形用户界面(GUI)组件库,它提供了一系列的组件,如按钮、文本框、标签等,可以帮助开发人员快速构建GUI应用程序。Canas组件库还支持多种主题和皮肤,可以让应用程序的界面更加美观和易于使用。

让窗体带有五彩巴兰的图片、颜色、更加奇特的形状

美: [ˈkænvəs]

英: ['kænvəs]

n. 帆布;画布;油画

网络 粗帆布;油画布;帆布鞋

Canvas画布界面

画长方体

# coding=gbk
import os
from tkinter import *
t1=Tk()
c1=Canvas(t1,width=200,height=200)
c1.pack()
img=PhotoImage(file=os.path.abspath(os.path.curdir)+'\\xxzz.gif')
c1.create_image((95,70),image=img)
c1.create_rectangle(50,20,150,80,fill="Blue")
mainloop()

画多边形

# coding=gbk
import os
from tkinter import *
t1=Tk()
c1=Canvas(t1,width=200,height=200)
c1.pack()
img=PhotoImage(file=os.path.abspath(os.path.curdir)+'\\xxzz.gif')
c1.create_image((95,70),image=img)
c1.create_rectangle(50,20,150,80,fill="Blue")
c1.create_rectangle(65,35,135,65,fill="yellow")
c1.create_line(0,21,50,21,fill="Black",width=3)
c1.create_line(0,40,50,21,fill="#476042",width=3)
c1.create_text(100,50,text="三酷猫")
c1.create_polygon(111,140,151,100,190,100,151,180,fill="Purple",tags="polygon")
t1=c1.create_text(20,6,text="起来看")
c1.delete(t1)
mainloop()

PhotoImage组件

可以用于Python的图形用户界面(GUI)编程,用于显示图片。你可以使用Tkinter库中的PhotoImage类来创建一个图片对象,并将其放置在窗口中。这个组件支持多种图片格式,例如GIF、JPEG、PNG等。

展示gif的图片

# coding=gbk
from tkinter import *
import os
filename=os.path.abspath(os.path.curdir)+'\\xxzz.gif'
print(filename)
root=Tk()
img=PhotoImage(file=filename)# 创建gif对象实例
label=Label(root,text="wudi",compound='center',image=img,fg="red")
label.pack()
root.mainloop()

展示gif法2

可以使用Python中的Pillow库来展示gif图片,具体可以使用以下代码:

from PIL import Image
# 打开gif图片
im = Image.open('example.gif')
try:
    # 循环展示gif图片的每一帧
    while True:
        im.seek(im.tell() + 1)
        im.show()
except EOFError:
    pass
这段代码可以打开名为example.gif的gif图片,并循环展示其中的每一帧。

总结

使用HTML5的Canvas API来在自己设计的软件上作画。首先需要在HTML文件中创建一个canvas元素,并设置它的宽度和高度。然后使用JavaScript代码获取canvas元素的上下文,通过调用上下文的绘图方法来绘制图形。例如,可以使用上下文的fillRect方法来绘制一个矩形。还可以使用其他方法来绘制线条、圆形、文本等。需要注意的是,Canvas API的使用需要一定的编程基础。

相关文章
|
5月前
|
监控 Python
使用Python编写的电脑上网时间控制软件:实现家长监管功能
在当今数字化时代,孩子们对互联网的依赖程度越来越高,但是过度使用互联网可能会对他们的健康和学业产生负面影响。为了帮助家长有效地监管孩子们的上网行为,我们开发了一款基于Python的电脑上网时间控制软件,具有家长监管功能。
226 1
|
5月前
|
存储 数据处理 开发工具
用python制作好的软件放手机里
【4月更文挑战第7天】
|
2月前
|
数据采集 开发工具 Python
海康威视工业相机SDK+Python+PyQt开发数据采集系统(支持软件触发、编码器触发)
该系统基于海康威视工业相机SDK,使用Python与PyQt开发,支持Gige与USB相机设备的搜索及双相机同时显示。系统提供软件触发与编码器触发模式,并可在数据采集过程中实时保存图像。此外,用户可以调节曝光时间和增益,并进行信息输入,这些信息将被保存至配置文件以便下次自动加载。参数调节与实时预览等功能进一步增强了系统的实用性。
55 1
|
3月前
|
达摩院 语音技术 异构计算
语音识别-免费开源的语音转文本软件Whisper的本地搭建详细教程,python版本是3.805,ffmpeg是专门处理音视频的,ffmpeg的下载链接,现在要求安装python和ffmpeg
语音识别-免费开源的语音转文本软件Whisper的本地搭建详细教程,python版本是3.805,ffmpeg是专门处理音视频的,ffmpeg的下载链接,现在要求安装python和ffmpeg
|
3月前
|
监控 网络协议 安全
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
由于楼层自动化系统的复杂性和多样性,很难给出一个通用的Python代码示例,因为每个系统可能使用不同的硬件、通信协议和软件接口。
|
4月前
|
机器学习/深度学习 存储 监控
基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】
基于YOLOv8的多目标检测与自动标注软件【python源码+PyqtUI界面+exe文件】【深度学习】
|
4月前
|
Ubuntu Python
银河麒麟-麒麟软件操作系统 kylin 搭建yum源 ubuntu搭建yum源 yum软件仓库搭建ftp源、python源、硬盘源
银河麒麟-麒麟软件操作系统 kylin 搭建yum源 ubuntu搭建yum源 yum软件仓库搭建ftp源、python源、硬盘源
465 1
|
5月前
|
IDE Java 开发工具
初学 Python 需要安装哪些软件?超级实用,小白必看!_python框架下其他软件
初学 Python 需要安装哪些软件?超级实用,小白必看!_python框架下其他软件
初学 Python 需要安装哪些软件?超级实用,小白必看!_python框架下其他软件
|
5月前
|
SQL 分布式计算 前端开发
2024年最全用python写一个自动生成春联的软件,打包exe,2024年最新阿里p8面试题和答案
2024年最全用python写一个自动生成春联的软件,打包exe,2024年最新阿里p8面试题和答案
2024年最全用python写一个自动生成春联的软件,打包exe,2024年最新阿里p8面试题和答案
|
4月前
|
机器学习/深度学习 算法 数据可视化
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)
【深度学习实战】基于深度学习的图片风格快速迁移软件(Python源码+UI界面)
下一篇
无影云桌面