ucraft-com / thumbnail-generator
此PHP包提供了从各种文件类型生成缩略图的全面解决方案,包括图片、视频、PDF文档和音频文件。
1.0.0
2024-08-08 18:29 UTC
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-09-08 18:41:15 UTC
README
Thumbnail Generator是一个多功能的Laravel包,旨在从各种文件类型创建和管理缩略图,包括图片、视频、音频、文档和PDF文件。此包提供了一个简单的API来生成缩略图并自定义它们的尺寸和品质。
特点
- 支持多种文件类型:从图片(JPEG、PNG、GIF)、视频、音频、文档和PDF文件生成缩略图。
- 支持WebP:生成WebP缩略图以实现更好的压缩和更快的加载时间。
- 可自定义尺寸:指定缩略图的宽度和高度。
- 品质控制:调整生成缩略图的质量以平衡大小和视觉保真度。
- 保持宽高比:自动保持原始媒体的比例。
要求
- PHP:8.1或更高版本
- Imagick PHP扩展:您需要安装并启用Imagick PHP扩展才能使用ThumbnailGenerator包。
安装
您可以通过Composer安装此包
composer require ucraft-com/thumbnail-generator
php artisan vendor:publish --provider="Uc\ThumbnailGenerator\ThumbnailGeneratorServiceProvider"
基本用法
图片
use Uc\ThumbnailGenerator\ThumbnailGeneratorFactory; $factory = new ThumbnailGeneratorFactory(...); $gen = $factory->createImageThumbnailGenerator(); $content = $gen->generate($file, 200, 200);
WebP缩略图
要生成WebP缩略图,请使用makeWebPAware方法来装饰ThumbnailGenerator实例
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);