From 8a698b6e605ad317e62760920e07458dc74f8df6 Mon Sep 17 00:00:00 2001 From: Oliver Vogel Date: Sun, 26 Nov 2023 16:44:38 +0100 Subject: [PATCH] Add doc blocks --- src/ImageManager.php | 49 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/src/ImageManager.php b/src/ImageManager.php index b48e0185..b0a0e77e 100644 --- a/src/ImageManager.php +++ b/src/ImageManager.php @@ -16,36 +16,85 @@ final class ImageManager $this->driver = $this->resolveDriver($driver); } + /** + * Create image mangager with given driver + * + * @param string|DriverInterface $driver + * @return ImageManager + */ public static function withDriver(string|DriverInterface $driver): self { return new self(self::resolveDriver($driver)); } + /** + * Create image manager with GD driver + * + * @return ImageManager + */ public static function gd(): self { return self::withDriver(GdDriver::class); } + /** + * Create image manager with Imagick driver + * + * @return ImageManager + */ public static function imagick(): self { return self::withDriver(ImagickDriver::class); } + /** + * Create new image instance with given width & height + * + * @param int $width + * @param int $height + * @return ImageInterface + */ public function create(int $width, int $height): ImageInterface { return $this->driver->createImage($width, $height); } + /** + * Create new image instance from given source which can be one of the following + * + * - Path in filesystem + * - File Pointer resource + * - SplFileInfo object + * - Raw binary image data + * - Base64 encoded image data + * - Data Uri + * - Intervention Image Instance + * + * @param mixed $input + * @return ImageInterface + */ public function read(mixed $input): ImageInterface { return $this->driver->handleInput($input); } + /** + * Create new animated image by given callback + * + * @param callable $init + * @return ImageInterface + */ public function animate(callable $init): ImageInterface { return $this->driver->createAnimation($init); } + /** + * Return driver object + * + * @param string|DriverInterface $driver + * @return DriverInterface + */ private static function resolveDriver(string|DriverInterface $driver): DriverInterface { if (is_object($driver)) {