diff options
| author | Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> | 2023-11-08 09:28:59 +0200 |
|---|---|---|
| committer | Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> | 2023-11-08 09:28:59 +0200 |
| commit | c23e7548ee317c043660f9b992388257e99f1776 (patch) | |
| tree | 83f93169e4aef999f8387e854c4d10a85b4b0a62 | |
| parent | 412935a47b762c33e54a464243f2d789b065bbb6 (diff) | |
py: pic.py: Add simple test for fb.map()
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
| -rwxr-xr-x | py/tests/pic.py | 30 |
1 files changed, 30 insertions, 0 deletions
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() |
