* Bump PHPUnit dependencies * Set return type of base TestCase methods From the [PHPUnit 8 release notes][1], the `TestCase` methods below now declare a `void` return type: - `setUpBeforeClass()` - `setUp()` - `assertPreConditions()` - `assertPostConditions()` - `tearDown()` - `tearDownAfterClass()` - `onNotSuccessfulTest()` [1]: https://phpunit.de/announcements/phpunit-8.html * Ignore PHPUnit cache folder * Adopt PHP attributes in test classes * Declare data providers as `static` * Add return types to test methods * Define test classes as `final` * Migrate phpunit.xml to phpunit 10 * Correct phpunit attribute class name * Rename base test class * Restructure test folders * Fix test image paths * Only set rules for php files in .editorconfig * Remove php unit flag in local test env --------- Co-authored-by: Shift <shift@laravelshift.com>
Intervention Image
PHP Image Processing
Intervention Image is a PHP image processing library that provides a simple and expressive way to create, edit, and compose images. It features a unified API for the two most popular image manipulation extensions. You can choose between the GD library or Imagick as the base layer for all operations.
- Simple interface for common image editing tasks
- Interchangable driver architecture
- Support for animated images
- Framework-agnostic
- PSR-12 compliant
Installation
You can easily install this library using Composer. Just request the package with the following command:
composer require intervention/image
Getting started
Learn the basics on how to use Intervention Image and more with the official documentation.
Code Examples
use Intervention\Image\ImageManager;
// create image manager with desired driver
$manager = new ImageManager(
new Intervention\Image\Drivers\Gd\Driver()
);
// open an image file
$image = $manager->read('images/example.gif');
// resize image instance
$image->resize(height: 300);
// insert a watermark
$image->place('images/watermark.png');
// encode edited image
$encoded = $image->toJpg();
// save encoded image
$encoded->save('images/example.jpg');
Requirements
- PHP >= 8.1
Supported Image Libraries
- GD Library
- Imagick PHP extension
Development & Testing
This package contains a Docker image for building a test suite and an analysis container. You must have Docker installed on your system to run all tests using the following command.
docker-compose run --rm --build tests
Run the static analyzer on the code base.
docker-compose run --rm --build analysis
Security
If you discover any security related issues, please email oliver@intervention.io directly.
License
Intervention Image is licensed under the MIT License.
Copyright 2023 Oliver Vogel