14 lines
367 B
Python
14 lines
367 B
Python
from typing import Callable, Tuple
|
|
from PIL import Image
|
|
|
|
|
|
def apply_pixel_shader(
|
|
img: Image, callback: Callable[[int, int, int], Tuple[int, int, int]]
|
|
):
|
|
width, height = img.size
|
|
pixels = img.load()
|
|
for x in range(width):
|
|
for y in range(height):
|
|
r, g, b = pixels[x, y]
|
|
pixels[x, y] = callback(r, g, b)
|
|
return img
|