【Pygame基本使用】

article/2025/8/26 16:38:19
pygame是什么

 pygame是跨平台Python模块,专门为电子游戏设计,包含图像、声音等;简单的说它是别人已经编写好的程序,并放在了一个类似库里,专门给别人使用的;

pygame的图形接口

https://www.jianshu.com/p/352f28c32865

pygame常用模块
模块名功能
pygame.cdrom访问光驱
pygame.cursors加载光驱
pygame.display访问显示设备
pygame.draw绘制形状、线和点
pygame.event管理事件
pygame.font使用字体
pygame.image加载和存储图片
pygame.joystick使用游戏手柄或类似的东西
pygame.key读取键盘按键
pygame.mixer声音
pygame.mouse鼠标
pygame.movie播放视频
pygame.music播放音频
pygame.overlay访问高级视频叠加
pygame.rect管理矩形区域
pygame.sndarray操作声音数据
pygame.sprite操作移动图像
pygame.surface管理图像和屏幕
pygame.surfarray管理点阵图像数据
pygame.time管理时间和帧信息
pygame.transform缩放和移动图像
图像的翻转、旋转、放缩

 pygame.transform模块内置许多实现对图像、旋转、放缩的函数;

创建一个游戏窗口,宽和高设置为640×480
import sys # 导入sys模块
import pygame # 导入pygame模块pygame.init()
size=width,height=640,480
screen=pygame.display.set_mode(size)

 现在我们将给这个窗口放进去一个图片填充,我们该怎么办呢

import sys
import pygamepygame.init()						# 初始化pygame
size=width,height=700,600 			#设置大小
screen=pygame.display.set_mode(size)# 显示窗口color=(0,0,0) 						# 设置填充颜色
charlotte=pygame.image.load("1.jpg") 	# 记载图片
charlotterect=charlotte.get_rect() 			# 获取矩形区域while True:for event in pygame.event.get():if event.type == pygame.KEYDOWN:sys.exit()screen.fill(color)				# 填充颜色screen.blit(charlotte,charlotterect)		# 将图片画到窗口上pygame.display.flip()			# 更新全部显示
pygame.quit()

 图中 while True里的代码,pygame.event.get()能获得事件队列,使用for…in遍历事件,然后根据type属性判断事件类型,这里事件处理与GUI类似,入event.type等于pygame.QUIT表示检测到关闭窗口事件,pygame.KEYDOWN表示键盘按下事件,pygame.MOUSEBUTTONDUWN表示鼠标按下事件等。
 下面的是我们打算插入的图片,它是1920×1080的,而我们的窗口是700×600的,所以我们打算把它缩小一下,然后再添进去;
在这里插入图片描述
 这里我们需要用到pygame.transform.scale(surface,(width,heigth)),参数1是一个包含需要使用图片的surface,第二个参数是放缩后图片大小的元组,它返回一个放缩后图片的surface
 我们在程序中添加了该函数,结果如下

# 上面省略
charlotte=pygame.image.load("1.jpg")
charlotte=pygame.transform.scale(charlotte,size)
charlotterect=charlotte.get_rect() # 获取矩形区域
# 下面省略

 它放缩后结果如下
在这里插入图片描述
 它看起来不是那么的完美,主要是因为我们初始设置窗口的时候,它的比例与图片的长宽比例不同,我们又发现了surface的一些方法如下:

方法名功能
pygame.Surface.blit将一个图像画到另一个图像上
pygame.Surface.convert转换图像的像素格式
pygame.Surface.convert_alpha转换图像的像素格式,包含alpha通道的转换
pygame.Surface.fill使用颜色填充Surface
pygame.Surface.get_rect获取Surface的矩形区域

 我们发现了Surface的get_rect方法;以及Surface的get_heigth和get_width方法;

import sys
import pygame
charlotte=pygame.image.load("1.jpg")
charlotterect=charlotte.get_rect()
print(charlotterect)
print(charlotterect[0])
print(charlotterect[1])
print(charlotterect[2])
print(charlotterect[3])
# <rect(0, 0, 1920, 1080)>
# 0
# 0
# 1920
# 1080

 我们发现get_rect的结果是一个四元组,并且它可以通过[]进行访问,它代表的是获取的图片的矩形区域的上下左右四个位置,所以最后我们可以这样做;

import sys
import pygamecharlotte=pygame.image.load("1.jpg")                   # 加载图片
charlotterect=charlotte.get_rect()                     # 获取矩形区域
size=(int(charlotterect[2]/3),int(charlotterect[3]/3)) # 这里把图片给缩小为原来的1/3
charlotte=pygame.transform.scale(charlotte,size)       # 进行对原图片的缩小并返回一个缩小后图片的surfacepygame.init()										   # 初始化pygame
screen=pygame.display.set_mode(size)			       # 显示窗口
color=(0,0,0)										   # 设置填充颜色
# charlotte=pygame.transform.scale(charlotte,size)
# charlotterect= (charlotte.get_rect())  # 获取矩形区域
# pygame.init()
# size=width,height=700,600
# screen=pygame.display.set_mode(size)
# color=(0,0,0)while True:for event in pygame.event.get():if event.type == pygame.KEYDOWN:sys.exit()screen.fill(color)screen.blit(charlotte,charlotterect)pygame.display.flip()
pygame.quit()

 最后结果如下
在这里插入图片描述
 看起来很完美


http://chatgpt.dhexx.cn/article/dyysp9AA.shtml

相关文章

python Pygame的具体使用讲解

一、实验介绍 1.1 实验内容 在本节课中&#xff0c;我们将讲解Pygame的常用对象及其操作&#xff0c;包括图形、动画、文字、音频等&#xff0c;确保同学们对Pygame有一个基础的了解&#xff0c;同时为后续课程做好准备。 Pygame图形Pygame动画Pygame文字Pygame音频Pygame事…

Pygame 官方文档 - 中译版

pygame 文档 Pygame之家【Pygame Home】 帮助内容【Help Contents】 指导索引【Reference Index】最有用的东西 【Most useful stuff】Color | display | draw | event | font | image | key | locals mixer | mouse | Rect | Surface | time | music | pygame 高级的东西【…

pygame入门

pygame入门 文章目录 pygame入门说明一、pygame的安装二、pygame模块概览三、pygame的“hello world”四、事件理解事件事件检索处理鼠标事件处理键盘事件事件过滤产生事件 五、显示全屏显示改变窗口尺寸复合模式其他 六、字体创建font对象使用字体中文字体 七、颜色八、图像使…

pygame下载(非常详细)

pygame安装 第一次安装pygame&#xff0c;从网上查了很多资料&#xff0c;各种方式都有&#xff0c;我发现了一种很简单的方法&#xff0c;不用去官网找&#xff0c;直接输入命令就能下载&#xff0c;希望能给大家提供一些参考&#xff01; 打开终端 1、winR 打开终端&#…

Pygame是什么

Python 是当下最为火热,且功能最为全面的一门编程语言。Python 之所以深受大家喜爱, 除了可以被应用到“人工智能”领域之外,还可以延伸到数据分析、Web 开发、自动化测试、自然语言处理、游戏开发等各个领域。这一切的实现得益于 Python 有一个强大的第三方库,这个第三方库…

【pygame游戏开发】这几个经典游戏,勾起了少年的快乐

给大家分享几个好玩有趣的小游戏&#xff0c;既提升了学习的兴趣&#xff0c;又提升了学习效率&#xff0c;告别枯燥的学习。 一、飞机大战 1、源码部分 模块导入 import sys import cfg import pygame from modules import *游戏界面 def GamingInterface(num_player, scr…

python-颜色识别

使用Python来做颜色识别&#xff0c;使用了openCV import cv2 import numpy as np import time class ColorTac(object):def colorTacing(self):print(-*-COLOR TACKING MODE-*-)print(you can input:blue,red,yellow,green,purple.and must input one)color input("Col…

android颜色识别

写的一个关于颜色识别的小功能。识别主要颜色。 思路&#xff1a;遍历像素点&#xff0c;找出出现次数最多的像素值作为主要颜色。 采用的方法有&#xff1a; 1.调用摄像头&#xff0c;拍照&#xff0c;裁剪&#xff0c;压缩。 2.找出色值。 3.转换成hsv空间&#xff0c;进行颜…

颜色及图片识别原理,颜色识别传感器介绍

光及颜色 1.光&#xff1a;是人类眼睛可以看见的一种电磁波&#xff0c;也称可见光谱。在科学上的定义&#xff0c;光是指所有的电磁波谱。光是由光子为基本粒子组成&#xff0c;具有粒子性与波动性&#xff0c;称为波粒二象性&#xff0c;一般人的眼睛所能接受的光的波长在380…

颜色识别总结

颜色检测 1、目标检测detr 【End-to-End Object Detection with Transformers】 论文解读 源码复现 2、目标检测deformable detr 【DEFORMABLE DETR: DEFORMABLE TRANSFORMERS FOR END-TO-END OBJECT DETECTION】 论文解读 源码复现 3、目标检测mmdet中的deformable detr …

Python-OpenCV实现简单的颜色识别(对红色和蓝色识别并输出)

摄像头识别红色和蓝色并框选&#xff0c;当该颜色为摄像头屏幕上大多数颜色时打印出该颜色的名称 新手学习笔记&#xff0c;第一次写博客&#xff0c;若有错误还请指出&#xff08; ~_ &#xff09;~ 1.调包 import cv2 import numpy as np from matplotlib import pyplot as…

Python3识别判断图片主要颜色并和颜色库进行对比的方法

【更新】主要提供两种方案&#xff1a; 方案一&#xff1a;&#xff08;参考网上代码&#xff0c;感觉实用性不是很强&#xff09;使用PIL截取图像&#xff0c;然后将RGB转为HSV进行判断&#xff0c;统计判断颜色&#xff0c;最后输出RGB值 方案二&#xff1a;使用opencv库函…

【Python 之HSV颜色识别】

Python 之HSV颜色识别 前言一、HSV颜色模型二、黄色识别三、使用步骤1.引入库2.处理图片3.识别结果 总结 前言 汽车自动驾驶&#xff0c;需要颜色识别&#xff0c;如黄色/红色车道线&#xff0c;蓝色车牌。 本文从HSV颜色模型出发&#xff0c;提供一种识别黄色车道线的方法供参…

OpenCV识别图像中的颜色

OpenCV识别图像中的颜色 利用OpenCV识别图像中区域的颜色 效果如图所示&#xff1a; 代码中需要读取的图像RGB对照表&#xff1a; 代码中所需读取的BGR对照表在此下载&#xff1a;图像RBG对照表 import cv2 import pandas as pdimg_path "./rgb_pic/color.jpg" i…

openCV python 颜色识别

图像识别 这个代码的功能是根据摄像头输入的图像&#xff0c;识别红色块&#xff0c;绿色块的坐标&#xff0c;并返回红绿色块的中心点的图像坐标&#xff08;单位为像素&#xff09; 当然&#xff0c;识别色可以自己更改&#xff0c;如蓝色&#xff0c;白色&#xff0c;黑色…

K210视觉体验—颜色识别

K210视觉体验—颜色识别 使用设备ZTFR开发板 颜色识别Lab 颜色空间构造函数示例代码1&#xff1a;识别RGB&#xff08;红&#xff0c;绿&#xff0c;蓝&#xff09;示例代码2&#xff1a;识别指定颜色 使用设备 ZTFR开发板 颜色识别 MaixPy 集成了 RGB565 颜色块识别 find_blo…

Halcon 学习笔记八:颜色识别

Halcon 学习笔记八&#xff1a;颜色识别 一、图像处理需要的知识二、图像处理的预处理和分割过程二、颜色识别的方法三、例子一四、例子二五、例子三 一、图像处理需要的知识 1.图像处理基础&#xff08;rgb(hsv),gray&#xff09; 2.图像灰度变换(scale_img) 3.图像基础(emph…

基于Python的颜色识别器

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶” 重磅干货&#xff0c;第一时间送达 在这篇文章中&#xff0c;我们将展示如何使用Python构建颜色识别器。此过程也称为“颜色检测”。我们将创建一个基本应用程序&#xff0c;该应用程序将帮助我们检测图像…

python颜色识别demo

一般对颜色空间的图像进行有效处理都是在HSV空间进行的&#xff0c;然后对于基本色中对应的HSV分量需要给定一个严格的范围&#xff0c;下面是通过实验计算的模糊范围&#xff08;准确的范围在网上都没有给出&#xff09;。 H: 0 — 180 S: 0 — 255 V: 0 — 255 此处把部分…

openCV-python实现颜色识别

本文将介绍使用OpenCV实现颜色识别的详细步骤 代码。 背景介绍 在截取出模板匹配到的logo区域之后&#xff0c;需要判断logo是什么颜色。本案例中要识别的对象是纯色的所以适用下面的颜色识别方法&#xff0c;有不同需求的请斟酌借鉴。 原理介绍 数字图像处理中常用的采用模型…