Skip to content

janwebdev/symfony-intervention-image-bundle

Repository files navigation

Symfony Intervention image bundle

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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages