"""Apple II conversion dispatch.""" from __future__ import annotations from ... import imageprep from . import hgr_mono _MODULES = {"hgr_mono": hgr_mono} for _name in ("dhgr", "hgr_color", "mono"): try: _MODULES[_name] = __import__(f"lenser.apple.convert.{_name}", fromlist=[_name]) except Exception: pass MODES = list(_MODULES.keys()) def convert_image(path_or_img, mode="hgr_mono", palette_name="mono", dither_mode="floyd", intensive=False, prep_opt=None, base_color=None): prep_opt = prep_opt or imageprep.PrepOptions() module = _MODULES[mode] img_rgb = imageprep.prepare(path_or_img, module.WIDTH, module.HEIGHT, module.PIXEL_ASPECT, prep_opt, border_rgb=(0, 0, 0)) return module.convert(img_rgb, palette_name, dither_mode, intensive, base_color=base_color)