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