From 0f36cbd74b0b81a15ad96f1b15878d6c641d774e Mon Sep 17 00:00:00 2001 From: Woeler Date: Mon, 30 Jun 2025 10:05:58 +0200 Subject: [PATCH 1/3] Add image driver usage --- src/Http/Controllers/EditorJsImageUploadController.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Http/Controllers/EditorJsImageUploadController.php b/src/Http/Controllers/EditorJsImageUploadController.php index fa6a5e9..a55c3ea 100644 --- a/src/Http/Controllers/EditorJsImageUploadController.php +++ b/src/Http/Controllers/EditorJsImageUploadController.php @@ -129,7 +129,12 @@ public function url(Request $request): JsonResponse private function applyAlterations($path, $alterations = []) { try { - $image = Image::load($path); + if (! empty(config('nova-editor-js.toolSettings.image.imagedriver'))) { + $image = Image::useImageDriver(config('nova-editor-js.toolSettings.image.imagedriver')); + $image->loadFile($path); + } else { + $image = Image::load($path); + } $imageSettings = config('nova-editor-js.toolSettings.image.alterations'); From 084c43415d3fd1c7cd8bd8a72ad89f2309f14e30 Mon Sep 17 00:00:00 2001 From: Woeler Date: Mon, 30 Jun 2025 10:08:52 +0200 Subject: [PATCH 2/3] Add default driver to config --- src/config/nova-editor-js.php | 1 + 1 file changed, 1 insertion(+) diff --git a/src/config/nova-editor-js.php b/src/config/nova-editor-js.php index 4d4a0a0..f0c0108 100644 --- a/src/config/nova-editor-js.php +++ b/src/config/nova-editor-js.php @@ -41,6 +41,7 @@ 'shortcut' => 'CMD+SHIFT+I', 'path' => 'public/images', 'disk' => 'local', + 'imagedriver' => Spatie\Image\Enums\ImageDriver::Imagick, 'alterations' => [ 'resize' => [ 'width' => false, // integer From d57599a8b958b17c71121ff4f8808ed294e42134 Mon Sep 17 00:00:00 2001 From: Woeler Date: Mon, 30 Jun 2025 10:41:24 +0200 Subject: [PATCH 3/3] Update README.md --- README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/README.md b/README.md index 7d4a0c7..6c0fa3f 100644 --- a/README.md +++ b/README.md @@ -150,6 +150,25 @@ You can customize the views for each component, by changing the view in `resourc The _Embeds_ tool is triggered by pasting URLs to embeddable content. It does not have an entry in the "Add" menu. +### Changing the image driver + +You may change the image driver (default Imagick) via the configuration like so: + +```php +return [ + 'toolSettings' => [ + 'image' => [ + 'imagedriver' => Spatie\Image\Enums\ImageDriver::Gd, + // ... + ], + // ... + ], + // ... +]; +``` + +Any option set here must be of type `Spatie\Image\Enums\ImageDriver`. + ### Registering custom components Please refer to the [extending Nova EditorJS](./EXTENDING.md) guide on instructions on how to register custom