Skip to content

php-collective/file-storage-image-processor

Repository files navigation

File Storage Image Processing

CI Software License

Image Processing for the File Storage Library.

Built on top of Intervention Image v3.

Features

  • Manipulates images and produces variants of the original image and stores them
  • Supports multiple image operations: resize, scale, crop, rotate, flip, sharpen, and more
  • Optimizes image file size using spatie/image-optimizer
  • Works with League Flysystem for flexible storage backends
  • Fluent API for chaining image operations

Requirements

  • PHP 8.1 or higher
  • GD or Imagick extension
  • Intervention Image v3

Installation

composer require php-collective/file-storage-image-processor

Quick Example

use PhpCollective\Infrastructure\Storage\Processor\Image\ImageVariantCollection;

$collection = ImageVariantCollection::create();

// Create a thumbnail with aspect ratio preserved
$collection->addNew('thumbnail')
    ->scale(300, 300)
    ->optimize();

// Create a specific-sized avatar
$collection->addNew('avatar')
    ->cover(150, 150)
    ->optimize();

$file = $file->withVariants($collection->toArray());
$file = $imageProcessor->process($file);

Documentation

Please start by reading the documentation in the docs/ directory:

Upgrade from v2

This package uses Intervention Image v3, which has breaking changes from v2:

  • ImageManager now requires a Driver instance instead of array configuration
  • The resize() method no longer has an aspectRatio parameter
  • Use scale() for aspect ratio preservation (recommended for most cases)
  • Use resize() only when you need exact dimensions (may distort image)

See the Available Operations documentation for detailed examples.

About

Image Processing for php-collective/file-storage

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages