Skip to content

ipygame.surfarray

pygame-compatible surfarray module.

def array2d(surface: Surface) -> np.ndarray

Copy pixel data as a 2D array of mapped colors (uint32).

def pixels2d(surface: Surface) -> np.ndarray

Return a 2D reference to surface pixels (copy — true sharing not possible).

def array3d(surface: Surface) -> np.ndarray

Copy RGB data as a (H,W,3) array.

def pixels3d(surface: Surface) -> np.ndarray

Return a (H,W,3) view into the surface’s RGB channels.

Modifications to the returned array will modify the surface.

def array_alpha(surface: Surface) -> np.ndarray

Copy alpha channel as a (H,W) array.

def pixels_alpha(surface: Surface) -> np.ndarray

Return a view into the surface’s alpha channel.

def array_red(surface: Surface) -> np.ndarray

def pixels_red(surface: Surface) -> np.ndarray

def array_green(surface: Surface) -> np.ndarray

def pixels_green(surface: Surface) -> np.ndarray

def array_blue(surface: Surface) -> np.ndarray

def pixels_blue(surface: Surface) -> np.ndarray

def array_colorkey(surface: Surface) -> np.ndarray

Return a 2D array where colorkey-pixels are 0, others 255.

def make_surface(array: np.ndarray) -> Surface

Create a new Surface from a numpy array.

Accepts (H,W,3) RGB, (H,W,4) RGBA, or (H,W) mapped uint32.

def blit_array(surface: Surface, array: np.ndarray) -> None

Blit an array directly onto a surface.

def map_array(surface: Surface, array: np.ndarray) -> np.ndarray

Map a (H,W,3) RGB array to a (H,W) mapped-pixel array.

def surface_to_array(array: np.ndarray,
surface: Surface,
kind: str = "P",
opaque: int = 255,
clear: int = 0) -> None

Copy surface pixels into an existing array.

def array_to_surface(surface: Surface, array: np.ndarray) -> None

Copy an array into a surface.