janwebdev/symfony-intervention-image-bundle

Symfony bundle for Intervention Image - a PHP image handling and manipulation library

v1.0.0 2022-06-07 13:34 UTC

This package is auto-updated.

Last update: 2024-12-07 19:01:57 UTC


README

Symfony bundle for Intervention Image - a PHP image handling and manipulation library.
It supports Symfony 4.4, 5.x, 6.x and PHP 7.4+, 8.0.x, 8.1.x

Unit Tests Latest Stable Version Total Downloads Latest Unstable Version License

Prerequisites

  1. Installation
  2. Enable the Bundle
  3. Configuration
  4. Basic usage
  5. More info

1. Installation

Using composer

Run the composer to download the bundle:

$ composer require janwebdev/translatable-entity-bundle

2. Enable the bundle

Check if bundle was enabled:

<?php
// ./config/bundles.php

return [
    // ...
    Janwebdev\ImageBundle\ImageBundle::class => ['all' => true],
];

3. Configuration

Create config file, i.e.: ./config/packages/image.yaml or copy-paste from example.
The configuration is as simple as

intervention_image:
    driver: "gd" # or "imagick"

... and that's all!

4. Basic usage

inject new service Janwebdev\ImageBundle\Image, which is private by default, in your code and start working with image.

<?php
// ...
use Janwebdev\ImageBundle\Image;
// ...
public function processImage(Image $image)
{
    $pathToFile = "public/foo.jpg";
    $image->create($pathToFile)->resize(300, 200)->save('public/bar.jpg', 80);
    //or
    $img1 = $image->create(file_get_contents('public/foo.jpg'));
    //or
    $img2 = $image->create(imagecreatefromjpeg('public/foo.jpg'));
    //or
    $img3 = $image->create('http://example.com/example.jpg');
    $img3->crop(100, 100, 25, 25);
    $img3->save('public/baz.jpg', 60);
}
// ...

4. More info

For different image manipulations refer to Intervention Image API documentation

Unit tests

$ phpunit

Changelog

Please see CHANGELOG for more information what has changed recently.

License

The MIT License (MIT). Please see License File for more information.