From e1235a7232dfd4dcfe19bbd3f936acde7da58677 Mon Sep 17 00:00:00 2001 From: Jaiden Date: Sat, 26 Jul 2025 15:27:28 -0400 Subject: [PATCH] update image upload preview generator settings --- app/Livewire/Pages/Upload.php | 6 +- composer.json | 1 + composer.lock | 137 +++++++++++++++++++++++++++++++++- config/image.php | 2 +- 4 files changed, 141 insertions(+), 5 deletions(-) diff --git a/app/Livewire/Pages/Upload.php b/app/Livewire/Pages/Upload.php index d181fd3..9707359 100644 --- a/app/Livewire/Pages/Upload.php +++ b/app/Livewire/Pages/Upload.php @@ -48,12 +48,12 @@ class Upload extends Component $fullImg = Storage::get("posts/$post->id/full"); // Create thumbnail preview - $thumb = Image::read($fullImg)->scaleDown(width: 512, height: 512); - Storage::put("posts/$post->id/thumb", $thumb->encodeByExtension($post->extension, quality: 70)); + $thumb = Image::read($fullImg)->cover(width: 512, height: 512); + Storage::put("posts/$post->id/thumb", $thumb->encodeByMediaType()); // Create smaller preview image $preview = Image::read($fullImg)->scaleDown(width: 1280, height: 720); - Storage::put("posts/$post->id/preview", $preview->encodeByExtension($post->extension, quality: 70)); + Storage::put("posts/$post->id/preview", $preview->encodeByMediaType()); return $this->redirect("/posts/$post->id"); } diff --git a/composer.json b/composer.json index d8721f6..373b96a 100644 --- a/composer.json +++ b/composer.json @@ -11,6 +11,7 @@ "require": { "php": "^8.2", "ext-gmp": "*", + "intervention/image-driver-vips": "^1.0", "intervention/image-laravel": "^1.5", "laravel/framework": "^12.0", "laravel/octane": "^2.9", diff --git a/composer.lock b/composer.lock index 6cb89e7..066558a 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "75207b40221a16fc6aa38c1290b281f5", + "content-hash": "5f2425ade7fd4df888b45f1bbc48bdf1", "packages": [ { "name": "brick/math", @@ -1261,6 +1261,80 @@ ], "time": "2025-05-22T17:26:23+00:00" }, + { + "name": "intervention/image-driver-vips", + "version": "1.0.6", + "source": { + "type": "git", + "url": "https://github.com/Intervention/image-driver-vips.git", + "reference": "67f92c78cbe94a303f28d7ed84afd464eefac7aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Intervention/image-driver-vips/zipball/67f92c78cbe94a303f28d7ed84afd464eefac7aa", + "reference": "67f92c78cbe94a303f28d7ed84afd464eefac7aa", + "shasum": "" + }, + "require": { + "intervention/image": "^3.11.0", + "jcupitt/vips": "^2.4", + "php": "^8.1" + }, + "require-dev": { + "ext-fileinfo": "*", + "phpstan/phpstan": "^2", + "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0", + "slevomat/coding-standard": "~8.0", + "squizlabs/php_codesniffer": "^3.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Intervention\\Image\\Drivers\\Vips\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Oliver Vogel", + "email": "oliver@intervention.io", + "homepage": "https://intervention.io/" + }, + { + "name": "Thomas Picquet", + "email": "thomas@sctr.net" + } + ], + "description": "libvips driver for Intervention Image", + "homepage": "https://image.intervention.io/", + "keywords": [ + "image", + "libvips", + "vips" + ], + "support": { + "issues": "https://github.com/Intervention/image-driver-vips/issues", + "source": "https://github.com/Intervention/image-driver-vips/tree/1.0.6" + }, + "funding": [ + { + "url": "https://paypal.me/interventionio", + "type": "custom" + }, + { + "url": "https://github.com/Intervention", + "type": "github" + }, + { + "url": "https://ko-fi.com/interventionphp", + "type": "ko_fi" + } + ], + "time": "2025-06-10T14:30:21+00:00" + }, { "name": "intervention/image-laravel", "version": "1.5.6", @@ -1345,6 +1419,67 @@ ], "time": "2025-04-04T15:09:55+00:00" }, + { + "name": "jcupitt/vips", + "version": "v2.5.0", + "source": { + "type": "git", + "url": "https://github.com/libvips/php-vips.git", + "reference": "a54c1cceea581b592a199edd61a7c06f44a24c08" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/libvips/php-vips/zipball/a54c1cceea581b592a199edd61a7c06f44a24c08", + "reference": "a54c1cceea581b592a199edd61a7c06f44a24c08", + "shasum": "" + }, + "require": { + "ext-ffi": "*", + "php": ">=7.4", + "psr/log": "^1.1.3|^2.0|^3.0" + }, + "require-dev": { + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpdocumentor/shim": "^3.3", + "phpunit/phpunit": "^9.5", + "squizlabs/php_codesniffer": "^3.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Jcupitt\\Vips\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Cupitt", + "email": "jcupitt@gmail.com", + "homepage": "https://github.com/jcupitt", + "role": "Developer" + } + ], + "description": "A high-level interface to the libvips image processing library.", + "homepage": "https://github.com/libvips/php-vips", + "keywords": [ + "image", + "libvips", + "processing" + ], + "support": { + "issues": "https://github.com/libvips/php-vips/issues", + "source": "https://github.com/libvips/php-vips/tree/v2.5.0" + }, + "time": "2025-04-04T17:10:13+00:00" + }, { "name": "laminas/laminas-diactoros", "version": "3.6.0", diff --git a/config/image.php b/config/image.php index d356964..f13ce7f 100644 --- a/config/image.php +++ b/config/image.php @@ -41,6 +41,6 @@ return [ 'autoOrientation' => true, 'decodeAnimation' => true, 'blendingColor' => 'ffffff', - 'strip' => false, + 'strip' => true, ] ];