定制 poplanchong123/image-compress 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

poplanchong123/image-compress

Composer 安装命令:

composer require poplanchong123/image-compress

包简介

A powerful image compression library similar to TinyPNG

README 文档

README

一个强大的PHP图片压缩库,提供类似TinyPNG的功能。

特性

  • 支持多种图片格式(JPG/JPEG、PNG、GIF)
  • 智能压缩算法,在保证画质的前提下减小文件体积
  • 支持等比缩放图片尺寸
  • 多种输入方式支持:
    • 上传图片文件
    • 本地图片路径
    • Base64编码的图片数据
  • 灵活的输出选项:
    • 保存到指定路径
    • 返回文件流
  • 批量处理支持
  • 完善的错误处理机制

安装

composer require poplanchong123/image-compress

要求

  • PHP >= 5.6
  • GD扩展
  • Fileinfo扩展

快速开始

use Poplanchong123\ImageCompress\ImageCompressor;
use Poplanchong123\ImageCompress\Input\FileInput;
use Poplanchong123\ImageCompress\Output\FileOutput;

// 创建压缩器实例
$compressor = new ImageCompressor([
    'max_width' => 1920,
    'max_height' => 1080,
    'quality' => 85
]);

// 压缩图片
$input = new FileInput('path/to/input.jpg');
$output = new FileOutput('path/to/output.jpg');
$result = $compressor->compress($input, $output);

配置选项

  • max_width: 最大宽度(像素)
  • max_height: 最大高度(像素)
  • quality: 压缩质量(1-100)
  • preserve_aspect_ratio: 是否保持宽高比(默认:true)
  • strip_metadata: 是否去除元数据(默认:true)

输入方式

文件输入

use Poplanchong123\ImageCompress\Input\FileInput;

$input = new FileInput('path/to/image.jpg');

Base64输入

use Poplanchong123\ImageCompress\Input\Base64Input;

$input = new Base64Input($base64String);

输出方式

文件输出

use Poplanchong123\ImageCompress\Output\FileOutput;

$output = new FileOutput('path/to/output.jpg');

流输出

use Poplanchong123\ImageCompress\Output\StreamOutput;

$output = new StreamOutput();
$imageData = $compressor->compress($input, $output);

批量处理

$inputs = [
    new FileInput('path/to/image1.jpg'),
    new FileInput('path/to/image2.png')
];

$outputs = [
    new FileOutput('path/to/output1.jpg'),
    new FileOutput('path/to/output2.png')
];

$results = $compressor->batchCompress($inputs, $outputs);

错误处理

库使用异常机制处理错误。所有的异常都继承自ImageCompressException

try {
    $result = $compressor->compress($input, $output);
} catch (ImageCompressException $e) {
    echo "压缩失败:" . $e->getMessage();
}

示例

更多使用示例请查看examples目录。

许可证

MIT License

poplanchong123/image-compress 适用场景与选型建议

poplanchong123/image-compress 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 5 次下载、GitHub Stars 达 0, 最近一次更新时间为 2025 年 09 月 26 日, 在 PHP 生态内属于活跃度较高的组件。

我们在过去多个企业项目中使用过 poplanchong123/image-compress 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。

围绕 poplanchong123/image-compress 我们能提供哪些服务?
定制开发 / 二次开发

基于 poplanchong123/image-compress 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。

BUG 修复 & 性能优化

线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。

项目外包 & 长期维护

承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。

yvsm@zunyunkeji.com QQ:316430983 微信:yvsm316 西安尊云信息科技 · 专注 PHP / Go / 分布式系统研发

统计信息

  • 总下载量: 5
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 16
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-09-26