1#!/usr/bin/env python3
2from LVGLImage import LVGLImage
3import argparse
4import logging
5import os
6
7logging.basicConfig(level=logging.INFO)
8
9parser = argparse.ArgumentParser(description="LVGL Binary Image Viewer")
10parser.add_argument("file", help="the .bin image file")
11
12args = parser.parse_args()
13
14name, ext = os.path.splitext(args.file)
15if ext != ".bin":
16    raise ValueError("Only support LVGL .bin image file")
17
18output = name + ".png"
19img = LVGLImage().from_bin(args.file)
20img.to_png(output)
21logging.info(f"convert {args.file} to {output}")
22
23if os.name == "posix":
24    os.system(f"open {output}")
25else:
26    try:
27        from PIL import Image
28    except ImportError:
29        raise ImportError("Need pillow package, do `pip3 install pillow`")
30    image = Image.open(output)
31    image.show(title=output)
32