byjg/imageutil
Composer 安装命令:
composer require byjg/imageutil
包简介
ImageUtil is a PHP library that provides a collection of operations for image manipulation using the GD library. It simplifies tasks such as flipping, cropping, resizing, stamping, and more.
README 文档
README
| sidebar_key | imageutil | ||
|---|---|---|---|
| tags |
|
Image Manipulation Library
ImageUtil is a PHP library that provides a collection of operations for image manipulation using the GD library. It simplifies tasks such as flipping, cropping, resizing, stamping, and more.
Installation
To install ImageUtil, use the following composer command:
composer require "byjg/imageutil"
Supported Formats
ImageUtil supports the following image formats:
- GIF
- JPEG
- PNG
- BMP
- WEBP
- SVG (Partial support. Primarily for converting SVG to other formats, not for SVG manipulation.)
Creating an Image
You can create an image from a file, URL, existing resource, or create an empty image:
<?php use ByJG\ImageUtil\ImageUtil; use ByJG\ImageUtil\Color; use ByJG\ImageUtil\Enum\FileType; // From a file $img = ImageUtil::fromFile('path_to_image.png'); // From a URL $img2 = ImageUtil::fromFile('https://somesite/someimage.jpg'); // From an existing resource image $resourceImg = imagecreatetruecolor(200, 300); $img3 = ImageUtil::fromResource($resourceImg); // Or an empty image $img4 = ImageUtil::empty(200, 300, FileType::Png, new Color(255, 255, 255));
SVG Files
:::caution ImageUtil provides basic support for SVG files, primarily for converting SVG images to other GD-supported formats. It does not support all SVG features and does not support operations like resize, flip, etc. :::
<?php use ByJG\ImageUtil\ImageUtil; $img = ImageUtil::fromFile('path_to_image.svg'); $img->save('path_to_image.png');
Image Manipulation
ImageUtil provides several methods for image manipulation:
- Flip: Mirror the image vertically or horizontally.
- Rotate: Rotate the image by a specified angle.
- Resize: Resize the image to specified dimensions.
- Resize Square: Resize the image to a square format while maintaining the aspect ratio. Any extra space is filled with the provided RGB color.
- Resize AspectRatio: Resize the image while maintaining the aspect ratio. Any extra space is filled with the provided RGB color.
- Stamp Image: Stamp another image onto the current image.
- Write Text: Write text onto the image.
- Crop Image: Crop the image from a specified point to another point.
- Make Transparent: Make the image transparent. The transparent color must be provided.
See detailed examples here.
Saving and Restoring Changes
You can save the changes to the image or restore the image to its original state:
<?php use ByJG\ImageUtil\ImageUtil; $img = ImageUtil::fromFile('wheel.png'); $img->resize(640, 480); // Save to file $img->save('filename.gif'); // Restore to original state $img->restore();
Other Functions
ImageUtil also provides methods to get the image dimensions and the image resource:
<?php use ByJG\ImageUtil\ImageUtil; $img = ImageUtil::fromFile('wheel.png'); $width = $img->getWidth(); $height = $img->getHeight(); $resource = $img->getResource();
Dependencies
ImageUtil depends on the GD extension for PHP:
flowchart TD
byjg/imageutil --> ext-gd
Loading
byjg/imageutil 适用场景与选型建议
byjg/imageutil 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 10.13k 次下载、GitHub Stars 达 13, 最近一次更新时间为 2015 年 05 月 27 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 byjg/imageutil 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 byjg/imageutil 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 10.13k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 13
- 点击次数: 20
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2015-05-27