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

news2024/11/29 4:29:05

在这里插入图片描述

在这里插入图片描述

文章目录

  • 前言
  • Canvas组件
  • Canvas画布界面
    • 画长方体
    • 画多边形
  • PhotoImage组件
    • 展示gif的图片
    • 展示gif法2
  • 总结

前言

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的使用需要一定的编程基础。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/402043.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数据结构——线性数据结构(C语言实现顺序表详解)

1.什么线性表 线性表(linear list)是n个具有相同特性的数据元素的有限序列。 线性表是一种在实际中广泛使 用的数据结构,常见的线性表:顺序表、链表、栈、队列、字符串等… 在讲顺序表之前,我们先大致了解一下线性表。…

qt .pro文件 qmake编译过程

#:注释一行 QT:此项目中使用的Qt modules列表 CONFIG:此项目中使用的配置选项 TARGET:目标输出文件的名字 TEMPLATE:当生成二进制文件时项目的模版,例如app,lib 平台下使用 windows { SOURCES SysInf…

剑指 Offer II 024. 反转链表

题目链接 剑指 Offer II 024. 反转链表 easy 题目描述 给定单链表的头节点 head,请反转链表,并返回反转后的链表的头节点。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:h…

不用费劲,这5款效率工具为你解决学习工作烦恼

今天我要向大家推荐5款超级好用的效率软件,无论是在学习还是办公中都能够极大地提高效率。这些软件可以帮助你解决许多问题,而且每个都是真正的神器。 1.键盘仿真鼠标——NeatMouse NeatMouse 是一个小型的工具能够使用鼠标光标控制指针。当你的鼠标不…

python编程基础

python编程基础 1、什么是编程语言? 编程语言是用来控制计算机的一系列指令(Instruction),它有固定的格式和词汇(不同编程语言的格式和词汇不一样),必须遵守,否则就会出错&#xf…

opencv加水印

本文介绍opencv给图片加水印的方法。 目录1、添加水印1.1、铺满1.2、在指定区域添加1.3、一比一铺满1、添加水印 添加水印的原理是调低两张图片的透明度,然后叠加起来。公式如下: dst src1 * opacity src2 * (1 - opacity) gamma; opacity是透明度&a…

UE官方教程笔记02-实时渲染基础下

对官方教程视频[官方培训]02-实时渲染基础下 | 陈拓 Epic的笔记没听懂的地方就瞎写反射实时渲染中反射是一个非常有挑战的特性UE中有多种不同的方案,各有各的优势和缺点反射捕获屏幕空间反射平面反射LumenRT Reflection反射捕获在指定位置捕获一张Cube Map需要预计算…

低代码:助力乡村振兴事业开启“智慧模式”

伴随着脱贫攻坚目标任务的全面完成,我国“三农”工作重心历史性地转向全面推进乡村振兴,这也标志着我国农业农村工作迈上了一个新台阶。 什么是乡村振兴? 乡村振兴是新时代“三农”工作的总抓手,坚持农业农村优先发展,…

windows 下docker 安装clickhouse

docker 下载https://www.docker.com/products/docker-desktop/将下载下来的Docker Desktop Installer.exe文件双击进行安装即可,安装完成后,任务栏会出现一个蓝色的小鲸鱼图标(注意安装完成后可能会重启系统)Docker Desktop如果出…

禁用XXE处理漫谈

前言 近期准备面试题时,XXE漏洞防范措施(或者说修复方式)在一些文章中比较简略, 故本文根据研究进行总结,作为技术漫谈罢了。 简述 XXE漏洞 XXE(XML外部实体注入),程序解析XML数…

国产8K摄像机拍摄回顾与画面数据反馈

本文分析两款国产8K摄像机,一款是全画幅,一款是M43画幅。一、全新国产全画幅8K B1机器参数数据汇总:全画幅8K 60fps,受益于8K全画幅的优势与大幅升级的图像处理系统,BOSMA 8K摄像机系统提升到新的高度。拍摄支持&#…

Ubuntu 安装 CUDA and Cudnn

文章目录0 查看 nvidia驱动版本1 下载Cuda2 下载cudnn参考:0 查看 nvidia驱动版本 nvidia-smi1 下载Cuda 安装之前先安装 gcc g gdb 官方:https://developer.nvidia.com/cuda-toolkit-archive,与驱动版本进行对应,我这里是12.0…

C++语法规则1(C++面向对象 )

C面向对象 面向对象的三大特征是继承,多态和封装,C重面向对象重要的就是这些,我们下面通过一些简单的实例加以理解,从这小节开始,我们将开启新的编程旅途。与 C 语言编程的思想完全不同了,这就是 C!理解概…

[Linux基础]history相关的环境变量设置

目录 背景 简介 命令操作 1. 语法: 2. 功能 3. 参数 环境变量设置 背景 工作中时常收到客户的反馈,我的系统什么也没干,就出现文件丢失,程序错误等等问题;我们在问题排查的时候查看history信息也是重要环节…

大数据导论、Apache ZooKeeper

目录标题1、数据与数据分析2、数据分析基本步骤3、大数据时代4、分布式技术5、 Apache ZooKeeper5.1 ZooKeeper 概述5.2 ZooKeeper 特性5.3 ZooKeeper 集群角色5.4 ZooKeeper 集群搭建5.5 ZooKeeper 数据模型1、数据与数据分析 数据分析是指用适当的统计分析方法对收集来的数据…

零基础小白如何自学网络安全成为顶尖黑客?

在成为黑客之前,你需要做两点准备: 1、学一门编程语言。学哪一门不重要,但你要参考一下下面的条例: C语言是Unix系统的基础。它(连同汇编语言)能让你学习对黑客非常重要的知识:内存的工作原理…

Go爬虫学习笔记(二)

3 进阶路线:如何深入学习Go语言? 时间与复利思维 一万小时定律 - MBA智库百科 (mbalib.com):大量训练。 思维模型 类比:类比旧知识知识组块:将知识拆分知识体系:知识之间的联系:wiki、笔记双链…

漏洞分析丨cve-2012-0003

作者:黑蛋一、漏洞简介这次漏洞属于堆溢出漏洞,他是MIDI文件中存在的堆溢出漏洞。在IE6,IE7,IE8中都存在这个漏洞。而这个漏洞是Winmm.dll中产生的。二、漏洞环境虚拟机调试工具目标软件辅助工具XP-SP3、KaliOD、IDAIE6Windbg组件gflags.exe三…

Java 不同路径

不同路径中等一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径&#xff1f…

直播间与2位优秀创作者分享经历

我是卢松松,点点上面的头像,欢迎关注我哦! 昨天,卢松松的直播间好像又被推荐给了2.9万人观看,讲了一个小时后直播间的人数一直攀升,最终冲破了2万人大关。晚些时候,白杨SEO也来到了我的直播间&…