grupobahez/imageoptimizer
Composer 安装命令:
composer require grupobahez/imageoptimizer
包简介
Package for image optimization in Laravel
README 文档
README
Package for optimizing and generating multiple image sizes in Laravel using Intervention Image.
Installation
composer require grupobahez/imageoptimizer
Usage
-
Publish the configuration file (optional):
php artisan vendor:publish --provider="Grupobahez\Imageoptimizer\ImageOptimizerServiceProvider" -
Configure the values in
config/imageoptimizer.php. -
In your code, use the
ImageOptimizerfacade to optimize images:use Grupobahez\Imageoptimizer\Facades\ImageOptimizer; use Grupobahez\Imageoptimizer\Support\ResizeStrategies; // ... ImageOptimizer::optimize(Storage::disk('public')->path('myimage.jpg'), [ 'disk' => 'public', 'quality' => 70, 'format' => 'webp', 'thumbnails' => [ 'small' => [150, 150], 'medium' => [300, 300], // ... ], 'strategy' => ResizeStrategies::COVER, // fill | crop | fit | cover | cover-top | cover-bottom | cover-left | cover-right // cover-top-left | cover-top-right | cover-bottom-left | cover-bottom-right 'output_folder' => 'new-folder', // Optional: Specify a custom output folder 'output_file' => 'custom-name', // Optional: Specify a custom base filename ]);
-
Optimize images from url
use Grupobahez\Imageoptimizer\Facades\ImageOptimizer; use Grupobahez\Imageoptimizer\Support\ResizeStrategies; // ... ImageOptimizer::optimizeFromUrl('https://example.com/image.jpg', [ 'disk' => 'public', 'quality' => 70, 'format' => 'webp', 'thumbnails' => [ 'small' => [150, 150], 'medium' => [300, 300], // ... ], 'strategy' => ResizeStrategies::COVER, // fill | crop | fit | cover 'output_folder' => 'new-folder', // Optional: Specify a custom output folder 'output_file' => 'custom-name', // Optional: Specify a custom base filename ]);
Default Configuration
The package includes a configuration file that you can overwrite by publishing it in your project. The default values are:
return [ 'quality' => 80, 'format' => 'webp', 'strategy' => 'fit', 'thumbnails' => [ 'small' => [150, 150], 'medium' => [300, 300], 'large' => [1024, 768], ], ];
Features
- Image quality reduction.
- Conversion between formats (e.g., JPEG to WebP).
- Generation of multiple image sizes (thumbnails).
- Specify custom output folder and file names for the optimized images.
Resize Strategies
fit: Maintains the aspect ratio; can handle0in width or height for proportional resizing.fill: Ensures the image covers the frame entirely, maintains the full image; can handle0in width or height.cover: Ensures the image covers the frame entirely, recropping from the center; can handle0in width or height.crop: Crops the image to exact dimensions; both width and height must be specified (does not support0).cover-top: Ensures the image covers the frame entirely, recropping from the top; can handle0in width or height.cover-bottom: Ensures the image covers the frame entirely, recropping from the bottom; can handle0in width or height.cover-left: Ensures the image covers the frame entirely, recropping from the left; can handle0in width or height.cover-right: Ensures the image covers the frame entirely, recropping from the right; can handle0in width or height.cover-top-left: Ensures the image covers the frame entirely, recropping from the top-left; can handle0in width or height.cover-top-right: Ensures the image covers the frame entirely, recropping from the top-right; can handle0in width or height.cover-bottom-left: Ensures the image covers the frame entirely, recropping from the bottom-left; can handle0in width or height.cover-bottom-right: Ensures the image covers the frame entirely, recropping from the bottom-right; can handle0in width or height.
Notes on Output Folder and Filename
- You can specify a custom output folder using the
output_folderoption. - You can define a custom base filename using the
output_fileoption. - If
output_folderis not provided, the folder of the original image will be used. - If
output_fileis not provided, the name of the original image will be used as the base.
Testing
The package includes unit tests with PHPUnit. You can run them using:
vendor/bin/phpunit
License
This package is licensed under the MIT License.
grupobahez/imageoptimizer 适用场景与选型建议
grupobahez/imageoptimizer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 0 次下载、GitHub Stars 达 0, 最近一次更新时间为 2024 年 12 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「image」 「thumbnail」 「laravel」 「optimizer」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 grupobahez/imageoptimizer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 grupobahez/imageoptimizer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 grupobahez/imageoptimizer 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
Yii2 LightBox image galary widget uses Lightbox v2.10.0 by Lokesh Dhakar
The Yii2 extension uses jQuery jquery.carousel-1.1.min.js and makes image carousel from php array of structure defined.
A PHP library for fetching thumbnails from a URL
The Yii2 extension uses jQuery PrettyPhoto and OwlCarousel js and makes image galary from php array of structure defined.
A Gokaru storage & thumbnail server PHP client
Yii2 Glide Extension
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 11
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-12-29
