Source code for abstract_api.image_processing.strategies.fill

from functools import cache
from typing import Optional, Union

from ._mixins import HeightMixin, WidthMixin
from .base_strategy import BaseStrategy


[docs] class Fill(HeightMixin, WidthMixin, BaseStrategy): """Resize image to fit the specified bounds while preserving aspect ratio. The optional background parameter allows you to specify a color which will be used to fill the unused portions of the specified bounds. The default background color is black. """ def __init__(self, background: Optional[str] = None, **kwargs) -> None: """Initializes a new Square instance.""" super().__init__(**kwargs) self._background = background
[docs] @cache def json(self) -> dict[str, Union[int, str]]: """Returns a dict with strategy attributes to be used with requests.""" json = super().json() if self.background is not None: json["background"] = self.background return json
@property def background(self) -> Optional[str]: """The color to be used to fill the unused portions.""" return self._background