From b579d93cade647bee4f48886937af8ad83abd8d8 Mon Sep 17 00:00:00 2001 From: Shlee Date: Thu, 13 Nov 2025 15:57:58 +1030 Subject: [PATCH] Create ImageDriverManager.php --- app/Util/Media/ImageDriverManager.php | 44 +++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 app/Util/Media/ImageDriverManager.php diff --git a/app/Util/Media/ImageDriverManager.php b/app/Util/Media/ImageDriverManager.php new file mode 100644 index 000000000..e92fdaf2b --- /dev/null +++ b/app/Util/Media/ImageDriverManager.php @@ -0,0 +1,44 @@ + \Intervention\Image\Drivers\Gd\Driver::class, + 'imagick' => \Intervention\Image\Drivers\Imagick\Driver::class, + 'vips' => \Intervention\Image\Drivers\Vips\Driver::class, + default => \Intervention\Image\Drivers\Gd\Driver::class + }; + } + + /** + * Create a new ImageManager instance with the configured driver. + * + * @param array $options Additional options for ImageManager + * @return ImageManager + */ + public static function createImageManager(array $options = []): ImageManager + { + $configOptions = config('image.options', []); + + $options = array_merge($configOptions, $options); + + return new ImageManager( + self::getDriverClass(), + autoOrientation: (bool) ($options['autoOrientation'] ?? true), + decodeAnimation: (bool) ($options['decodeAnimation'] ?? true), + blendingColor: (string) ($options['blendingColor'] ?? 'ffffff'), + strip: (bool) ($options['strip'] ?? true) + ); + } +}