ucraft-com/thumbnail-generator

此PHP包提供了从各种文件类型生成缩略图的全面解决方案,包括图片、视频、PDF文档和音频文件。

安装: 337

依赖: 0

建议者: 0

安全: 0

星星: 1

关注者: 1

分支: 0

开放问题: 0

语言:富文本格式

1.0.0 2024-08-08 18:29 UTC

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);