pygame.transform
用于改变surfaces形态的pygame模块
pygame.transform.flip - 垂直和水平翻转
pygame.transform.scale - 调整大小到新的分辨率
pygame.transform.rotate - 旋转图像
pygame.transform.rotozoom - 过滤的缩放和旋转
pygame.transform.scale2x - 专门的图像倍增器
pygame.transform.smoothscale - 平滑地将曲面缩放到任意大小
pygame.transform.get_smoothscale_backend - 返回正在使用的smoothscale过滤器版本:‘GENERIC’,‘MMX’或’SSE’
pygame.transform.set_smoothscale_backend - 将smoothscale过滤器版本设置为以下之一:‘GENERIC’,‘MMX’或’SSE’
pygame.transform.chop - 获取移除的内部区域的图像副本
pygame.transform.laplacian - 在surface中查找边
pygame.transform.average_surfaces - 从许多surface中找到平均surface。
pygame.transform.average_color - 查找surface的平均颜色
pygame.transform.threshold - 查找表面中的哪些像素以及多少像 在’search_color’或’search_surf’的阈值内。
surface变换是移动像素或调整像素大小的操作。 所有这些函数都使用Surface进行操作并返回带有结果的新Surface。
一些变换被认为是破坏性的。 这意味着每次执行它们都会丢失像素数据。 常见的例子是调整大小和旋转。 因此,重新转换原始surface比保持多次转换图像更好。 (例如,假设您正在为一个弹跳弹簧进行动画扩展和收缩。如果您将大小更改应用于前一个图像,则会丢失细节。相反,始终从原始图像开始并缩放到所需大小。)
pygame.transform.flip()
↶
垂直和水平翻转
flip(Surface, xbool, ybool) -> Surface
这可以通过垂直,水平或两者一起来翻转Surface。 翻转Surface是非破坏性的,并返回具有相同尺寸的新曲面。
搜索pygame.transform.flip的示例
pygame.transform.scale()
↶
调整大小到新的分辨率
scale(Surface, (width, height), DestSurface = None) -> Surface
将Surface的大小调整为新分辨率。 这是一种快速扩展操作,不会对结果进行采样。
可以使用可选的目标Surface,而不是创建新的目标Surface。 如果你想反复缩放某些东西,这会更快。 但是,目标必须与传入的(width, height)大小相同。目标Surface也必须是相同的格式。
搜索pygame.transform.scale的示例
pygame.transform.rotate()
↶
旋转图像
rotate(Surface, angle) -> Surface
未经过滤的逆时针旋转。 angle参数表示角度,可以是任何浮点值。 负角度量将顺时针旋转。
除非以90度的增量旋转,否则图像将被填充得更大以保持新的尺寸。 如果图像具有像素alpha,则填充区域将是透明的。 否则,pygame将选择与Surface颜色键(colorkey)或左上角像素值匹配的颜色。
搜索pygame.transform.rotate的示例
pygame.transform.rotozoom()
↶
过滤的缩放和旋转
rotozoom(Surface, angle, scale) -> Surface
这是组合的缩放和旋转变换。 生成的Surface将是一个过滤的32位Surface。 scale参数是一个浮点值,将乘以当前分辨率。 角度参数是一个浮点值,表示要旋转的逆时针度数。 负旋转角度将顺时针旋转。
搜索pygame.transform.rotozoom的示例