中文编程pygame游戏教程6_使用图像

加载图像
pyagme.图像模块提供了加载和保存的方法 图像。读取() 方法从文件系统加载图像,并返回一个 表层(Surface)对象。转换格式()方法优化了图像格式,使绘图速度更快:
我的图片bird.png在程序所在的同一文件夹的data文件下.
读取()方法从图像返回 区块(Rect) 对象。 此时仅设置大小并将位置放置在(0, 0)。 我们将 图像区块的中心设置为屏幕的中心:
概括地说,我们正在处理 3 个对象:
屏幕是表示应用程序窗口的 表层(Surface) 对象
图像 是要显示的图像的表层对象
图像区块 是 区块(Rect)对象,它是图像的边框
为了显示图像,我们用背景色(灰色)填充屏幕。 然后我们把图像"贴"到屏幕上,并在它周围画一个红色矩形,最后更新屏幕:
用鼠标移动图像
在程序开始时,我们将移动中变量设置为 False。 仅当按下鼠标按钮并且鼠标位置在图像内(碰撞点检测)时,我们将其设置为 True,释放鼠标按钮后,我们再次将其设置为 False,当鼠标移动并且标志为 True 时,我们移动图像按鼠标位置相对移动.

下面是完整代码:
旋转和缩放图像
pygame.变形模块提供了缩放、旋转和翻转图像的方法。当我们要修改图像时,我们保留原始图像在名为 图像0 的变量中:
为了显示图像矩形,我们在原始图像中添加了一个绿色边框:
首先,我们定义全局变量尺度和角度:
我们使用 R 键将旋转增加 10 度,然后 (如果按下 SHIFT 键,则递减)。该功能允许组合 旋转和缩放。我们总是转换原始图像(图像0)。重复旋转或缩放, 图像会降低其质量:
我们使用 S 键将比例增加 10%(如果使用 SHIFT 键,则减小 被按下):
转换图像时,边框的大小会发生变化。必须重新计算并再次放置在中心:
将图像重置为原始图像
我们使用 O 键将图像重置为其原始状态:
翻转图像
我们使用 H 键水平翻转图像:
和 V 键垂直翻转图像:
使用l键 用查找边缘.()方法检测图像的轮廓:

放大2倍使像素的大小加倍:
完整的代码如下:
用鼠标转换图像
在本节中,我们将展示如何使用鼠标缩放和旋转图像。
我们先存储初始鼠标位置:
当鼠标移动时,我们更新鼠标位置并计算 x、y 坐标 从图像中心。 我们还计算鼠标与屏幕中心的距离
数学函数允许找到旋转角度。我们需要 以度为单位转换弧度。从距离鼠标中心,我们计算出 比例参数:atan2(y, x)
为了最终绘制转换后的图像,我们首先填充整个屏幕背景(灰色), 将转换后的图像点亮,用红色矩形包围它。
为了在转换图像时为鼠标动作提供视觉反馈,我们在图像中心和鼠标位置之间画一条绿线,在中心和鼠标位置放置两个圆圈.

这是完整的代码。