承接 componenta/image-compressor 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

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

componenta/image-compressor

Composer 安装命令:

composer require componenta/image-compressor

包简介

Image compression helpers for Componenta

README 文档

README

Image compression helpers for Componenta. The package compresses image content without changing its format and selects a concrete compressor by detected MIME type.

Installation

composer require componenta/image-compressor

The package declares Componenta\Image\ImageCompressorConfigProvider in extra.componenta.config-providers. When componenta/composer-plugin is installed, the provider is added to the generated provider list automatically.

The package requires PHP ^8.4, ext-gd, componenta/config, componenta/mimetype-detector, PSR-11, and PSR-7 streams.

Main API

use Componenta\Image\ImageCompressionOptions;
use Componenta\Image\ImageCompressor;

if ($compressor->canCompress($source)) {
    $image = $compressor->compress($source, new ImageCompressionOptions(quality: 85));
}

$source may be a binary string or StreamInterface. CompressedImage contains content, mimeType, extension, and computed size.

Supported Formats

Built-in GD compressors support JPEG, PNG, WebP, and AVIF when the local GD extension supports the target operation.

Configuration

ImageCompressorConfigProvider registers:

  • ImageCompressor
  • GdJpegCompressor
  • GdPngCompressor
  • GdWebPCompressor
  • GdAvifCompressor

ImageCompressorFactory uses MimeTypeDetectorInterface from the container when available and falls back to FinfoDetector.

Options And Errors

ImageCompressionOptions::$quality must be null or an integer from 0 to 100. Invalid quality throws CompressionException::invalidQuality().

ImageCompressor throws CompressionException when the source type cannot be detected or no compressor supports it.

Extension Points

Implement ImageCompressorInterface and call ImageCompressor::addCompressor() to add another compressor.

统计信息

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

GitHub 信息

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

其他信息

  • 授权协议: MIT
  • 更新时间: 2026-06-14

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固