Source code for yt.utilities.png_writer

from io import BytesIO

import PIL
from PIL import Image
from PIL.PngImagePlugin import PngInfo

from .._version import __version__ as yt_version


[docs] def call_png_write_png(buffer, fileobj, dpi): metadata = PngInfo() metadata.add_text("Software", f"PIL-{PIL.__version__}|yt-{yt_version}") Image.fromarray(buffer).save( fileobj, dpi=(dpi, dpi), format="png", pnginfo=metadata )
[docs] def write_png(buffer, filename, dpi=100): with open(filename, "wb") as fileobj: call_png_write_png(buffer, fileobj, dpi)
[docs] def write_png_to_string(buffer, dpi=100): fileobj = BytesIO() call_png_write_png(buffer, fileobj, dpi) png_str = fileobj.getvalue() fileobj.close() return png_str