llama-index
19 строк · 522.0 Байт
1"""Utils for manipulating images."""
2import base643from io import BytesIO4from typing import cast5
6from PIL import Image7
8
9def img_2_b64(image: Image, format: str = "JPEG") -> str:10"""Convert a PIL.Image to a base64 encoded image str."""11buff = BytesIO()12image.save(buff, format=format)13return cast(str, base64.b64encode(buff.getvalue()))14
15
16def b64_2_img(data: str) -> Image:17"""Convert base64 encoded image str to a PIL.Image."""18buff = BytesIO(base64.b64decode(data))19return Image.open(buff)20