From c23e7548ee317c043660f9b992388257e99f1776 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Wed, 8 Nov 2023 09:28:59 +0200 Subject: py: pic.py: Add simple test for fb.map() Signed-off-by: Tomi Valkeinen --- py/tests/pic.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 py/tests/pic.py (limited to 'py') diff --git a/py/tests/pic.py b/py/tests/pic.py new file mode 100755 index 0000000..6ff2a05 --- /dev/null +++ b/py/tests/pic.py @@ -0,0 +1,30 @@ +#!/usr/bin/python3 + +import pykms +import argparse +from PIL import Image +import numpy as np + +parser = argparse.ArgumentParser() +parser.add_argument("image") +parser.add_argument("-f", "--fourcc", default="XR24") +args = parser.parse_args() + +card = pykms.Card() +res = pykms.ResourceManager(card) +conn = res.reserve_connector() +crtc = res.reserve_crtc(conn) +mode = conn.get_default_mode() +fb = pykms.DumbFramebuffer(card, mode.hdisplay, mode.vdisplay, args.fourcc) +crtc.set_mode(conn, fb, mode) + +image = Image.open(args.image) +image = image.resize((mode.hdisplay, mode.vdisplay), + Image.Resampling.LANCZOS) +pixels = np.array(image) + +map = fb.map(0) +b = np.frombuffer(map, dtype=np.uint8).reshape(fb.height, fb.width, 4) +b[:, :, :] = pixels + +input() -- cgit v1.2.3