ucraft-com / thumbnail-generator
This PHP package provides a comprehensive solution for generating thumbnails from various file types, including images, videos, PDF documents, and audio files.
Installs: 971
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 2
Forks: 0
Open Issues: 0
Language:Rich Text Format
Requires
- php: ^8.1
- ext-imagick: *
- dompdf/dompdf: ^3.0
- php-ffmpeg/php-ffmpeg: ^1.2
- phpoffice/phpspreadsheet: ^2.2
- phpoffice/phpword: ^1.2
- ucraft-com/image-manipulator: 0.0.1
Requires (Dev)
- orchestra/testbench: 8.24.0
- phpunit/phpunit: ^10.5
This package is auto-updated.
Last update: 2024-11-08 19:01:49 UTC
README
Thumbnail Generator is a versatile Laravel package designed to create and manage thumbnails from various file types, including images, videos, audios, documents, and PDF files. This package provides a straightforward API to generate thumbnails and customize their dimensions and quality.
Features
- Multiple File Type Support: Generate thumbnails from images (JPEG, PNG, GIF), videos, audios, documents, and PDF files.
- WebP Support: Generate WebP thumbnails for better compression and faster load times.
- Customizable Dimensions: Specify the width and height of the thumbnails.
- Quality Control: Adjust the quality of the generated thumbnails to balance between size and visual fidelity.
- Aspect Ratio Maintenance: Automatically maintain the aspect ratio of the original media.
Requirements
- PHP: 8.1 or higher
- Imagick PHP extension: You need to have the Imagick PHP extension installed and enabled to use the ThumbnailGenerator package.
Installation
You can install the package via Composer:
composer require ucraft-com/thumbnail-generator
php artisan vendor:publish --provider="Uc\ThumbnailGenerator\ThumbnailGeneratorServiceProvider"
Basic Usage
Images
use Uc\ThumbnailGenerator\ThumbnailGeneratorFactory; $factory = new ThumbnailGeneratorFactory(...); $gen = $factory->createImageThumbnailGenerator(); $content = $gen->generate($file, 200, 200);
WebP Thumbnails
To generate WebP thumbnails, use the makeWebPAware method to decorate the ThumbnailGenerator instance:
use Uc\ThumbnailGenerator\ThumbnailGeneratorFactory; $factory = new ThumbnailGeneratorFactory(...); $gen = $factory->createImageThumbnailGenerator(); $webPGen = $factory->makeWebPAware($gen); // Generate a WebP thumbnail using a decorated instance [$content, $webPContent] = $webPGen->generate($file, 200, 200);