从 pygame 中的显示中获取图像数组

Get image array from display in pygame

我有一个简单的 pygame 环境乒乓球游戏。我想从 pygame.display 获取每个实例的图像的 numpy 数组。我无法找到给出整个显示的 numpy 数组的方法。谢谢

使用 pygame.surfarray.pixels2dpygame.surfarray.array2dpygame.surfarray.pixels3dpygame.surfarray.array3dpygame.Surface object (see pygame.surfarray 模块创建像素阵列:

import pygame

# [...]

window = pygame.display.set_mode()
array2D = pygame.surfarray.array2d(window)
array3D = pygame.surfarray.array3d(window)

虽然 array*Surface 对象创建像素的副本,但 pixel* 创建一个直接引用像素值的新数组表面 对象。
*2d 版本生成一个 two-dimensional 数组,每个像素由一个整数值表示。 *3d 版本生成一个 three-dimensional 数组,其中每个颜色通道都由一个整数值表示。