trisnawan/image-resizer
Composer 安装命令:
composer require trisnawan/image-resizer
包简介
Resizer, Thumbnailer, Cropper Image with PHP Imagick
关键字:
README 文档
README
Resize, crop, convert, and watermark images using either Imagick or GD with the same API.
Instalation
composer require trisnawan/image-resizer
Initialization
use Trisnawan\ImageResizer\ImageResizer;
// Image from user upload $filePath = $_FILES["image"]["tmp_name"]; // Image from local storage $filePath = "path/to/image_file.jpg"; // Default library: Imagick $resizer = new ImageResizer($filePath); // Explicit Imagick $resizer = new ImageResizer($filePath, 'imagick'); // Use GD $resizer = new ImageResizer($filePath, 'gd'); // Optional PDF render resolution in DPI $resizer = new ImageResizer($filePath, 'imagick', 300);
PDF Source
// Automatically load the first page of a PDF $resizer = new ImageResizer('../folder/file.pdf'); // Load page 2 from a PDF $resizer = new ImageResizer('../folder/file.pdf[2]'); // Render a PDF page with higher resolution for sharper output $resizer = new ImageResizer('../folder/file.pdf[2]', 'imagick', 300); // If GD is selected for a PDF, the library automatically falls back to Imagick $resizer = new ImageResizer('../folder/file.pdf', 'gd', 300);
$pdfResolution is optional and only affects PDF sources. The default value is 150 DPI.
PDF page numbers in the path use one-based numbering, so [1] is the first page and [2] is the second page.
Resize Image
Use the maximum pixels and the image will be automatically reduced to the maximum size.
// Max Width in pixels $maxWidth = 640; $resizer->maxWidth($maxWidth);
Crop Image
// Crop the image into a square from the center $resizer->cropCenter(); // Crop the image into a square from the top $resizer->cropTop();
Add Text Watermark
// Basic watermark with automatic bottom-right placement $resizer->createWatermark('© My Brand'); // Manual position $resizer->createWatermark('© My Brand', 20, 40); // Manual position with custom size, opacity, and color $resizer->createWatermark('© My Brand', 20, 40, 24, 0.45, '#ffffff'); // Opacity also accepts percent values $resizer->createWatermark('© My Brand', null, null, 18, 55, '#f5f5f5');
Parameter summary:
$text: watermark text.$x: horizontal position. If omitted, the watermark is placed automatically at the bottom-right.$y: vertical position. If omitted, the watermark is placed automatically at the bottom-right.$size: optional text size.$opacity: optional opacity, accepts0..1or1..100.$color: optional hex color such as#ffffffor#fff.
GD uses TrueType text automatically when a common system font is available, and falls back to the built-in GD bitmap font otherwise.
Save to Local Storage
// Keep the original format if the extension is the same $saveFilePath = "path/to/image_new.jpg"; $resizer->writeImage($saveFilePath); // Convert output format based on the target extension $resizer->writeImage('path/to/image_new.webp'); $resizer->writeImage('path/to/image_new.png');
If the output filename has no extension, the original image format is used.
Show Blob Image
// Show in blob $blob = $resizer->getBlob();
Full Example
use Trisnawan\ImageResizer\ImageResizer; $filePath = $_FILES["image"]["tmp_name"]; $resizer = new ImageResizer($filePath, 'gd'); $resizer->maxWidth(1280); $resizer->cropCenter(); $resizer->createWatermark('© My Brand', null, null, 20, 0.5, '#ffffff'); $resizer->writeImage('uploads/profile.webp');
trisnawan/image-resizer 适用场景与选型建议
trisnawan/image-resizer 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 63 次下载、GitHub Stars 达 1, 最近一次更新时间为 2024 年 01 月 29 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「thumbnail」 「resize」 「crop」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 trisnawan/image-resizer 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 trisnawan/image-resizer 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 trisnawan/image-resizer 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A bundle providing fields for image upload with jquery upload and image cropping with jcrop for symfony2
A PHP library for fetching thumbnails from a URL
Image cache
A image cropping field for kirby.
The lireincore/imgcache integration for the Yii2 framework
A Gokaru storage & thumbnail server PHP client
统计信息
- 总下载量: 63
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 1
- 点击次数: 20
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2024-01-29