3b1b-manim/manimlib/utils/images.py

36 lines
922 B
Python
Raw Normal View History

2022-04-12 20:03:48 +08:00
from __future__ import annotations
import numpy as np
from PIL import Image
from manimlib.utils.directories import get_raster_image_dir
from manimlib.utils.directories import get_vector_image_dir
2022-04-12 19:19:59 +08:00
from manimlib.utils.file_ops import find_file
2022-04-12 20:03:48 +08:00
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Iterable
def get_full_raster_image_path(image_file_name: str) -> str:
return find_file(
image_file_name,
directories=[get_raster_image_dir()],
2021-03-27 11:55:58 -07:00
extensions=[".jpg", ".jpeg", ".png", ".gif", ""]
2019-01-24 22:24:01 -08:00
)
def get_full_vector_image_path(image_file_name: str) -> str:
return find_file(
image_file_name,
directories=[get_vector_image_dir()],
extensions=[".svg", ".xdv", ""],
)
2022-12-17 22:14:30 -08:00
def invert_image(image: Iterable) -> Image.Image:
arr = np.array(image)
arr = (255 * np.ones(arr.shape)).astype(arr.dtype) - arr
return Image.fromarray(arr)