Skip to content

ipygame.transform

pygame-compatible transform module.

def flip(surface: Surface, flip_x: bool, flip_y: bool) -> Surface

Flip a Surface horizontally, vertically, or both.

def scale(surface: Surface,
size,
dest_surface: Surface | None = None) -> Surface

Resize to size (w, h) using nearest-neighbor.

def scale_by(surface: Surface,
factor,
dest_surface: Surface | None = None) -> Surface

Resize by a scalar factor or (fx, fy) tuple.

def rotate(surface: Surface, angle: float) -> Surface

Rotate the Surface counterclockwise by angle degrees.

def rotozoom(surface: Surface, angle: float, scale_factor: float) -> Surface

Filtered rotate and scale.

def scale2x(surface: Surface, dest_surface: Surface | None = None) -> Surface

Double the size of the Surface.

def smoothscale(surface: Surface,
size,
dest_surface: Surface | None = None) -> Surface

Resize with bilinear filtering.

def smoothscale_by(surface: Surface,
factor,
dest_surface: Surface | None = None) -> Surface

Smooth resize by a scalar factor or (fx, fy) tuple.

def get_smoothscale_backend() -> str

def set_smoothscale_backend(backend: str) -> None

def chop(surface: Surface, rect) -> Surface

Remove an interior rectangle; the remaining areas collapse together.

def invert(surface: Surface, dest_surface: Surface | None = None) -> Surface

Invert RGB values (alpha unchanged).

def grayscale(surface: Surface,
dest_surface: Surface | None = None) -> Surface

Convert to grayscale.

def solid_overlay(surface: Surface,
color,
dest_surface: Surface | None = None,
keep_alpha: bool = False) -> Surface

Replace all non-transparent pixels with a solid color.

def average_color(surface: Surface,
rect=None,
consider_alpha: bool = False) -> tuple[int, int, int, int]

Get the average RGBA color of a surface or sub-region.

def average_surfaces(surfaces: Sequence[Surface],
dest_surface: Surface | None = None,
palette_colors: int = 1) -> Surface

Average the colors of multiple same-size surfaces.

def threshold(dest_surface,
surface: Surface,
search_color,
threshold_color=(0, 0, 0, 255),
set_color=(0, 0, 0, 0),
set_behavior: int = 1,
other_surface: Surface | None = None,
inverse: bool = False) -> int

Find/set pixels within a color threshold. Returns count of matching pixels.

def box_blur(surface: Surface,
radius: int,
repeat_edge_pixels: bool = True,
dest_surface: Surface | None = None) -> Surface

Apply a box blur with the given pixel radius.

def gaussian_blur(surface: Surface,
radius: int,
repeat_edge_pixels: bool = True,
dest_surface: Surface | None = None) -> Surface

Apply a Gaussian blur with the given pixel radius.

def laplacian(surface: Surface,
dest_surface: Surface | None = None) -> Surface

Edge-detection via Laplacian filter.

def hsl(surface: Surface,
hue: float = 0,
saturation: float = 0,
lightness: float = 0,
dest_surface: Surface | None = None) -> Surface

Adjust HSL of a surface. Values are offsets.

def pixelate(surface: Surface,
pixel_size: int,
dest_surface: Surface | None = None) -> Surface

Pixelate a surface by downscaling and upscaling.