2021-12-07 11:00:06 +00:00
|
|
|
# Intervention Image
|
|
|
|
## PHP Image Manipulation
|
|
|
|
|
|
|
|
[![Latest Version](https://img.shields.io/packagist/v/intervention/image.svg)](https://packagist.org/packages/intervention/image)
|
2022-07-05 19:54:11 +02:00
|
|
|
[![Build Status](https://github.com/Intervention/image/actions/workflows/run-tests.yml/badge.svg)](https://github.com/Intervention/image/actions)
|
2021-12-07 11:00:06 +00:00
|
|
|
[![Monthly Downloads](https://img.shields.io/packagist/dm/intervention/image.svg)](https://packagist.org/packages/intervention/image/stats)
|
|
|
|
|
2023-10-21 11:43:09 +02:00
|
|
|
Intervention Image is a **image handling and manipulation library written in
|
2023-11-27 19:41:48 +01:00
|
|
|
PHP** providing an easy and expressive way to create, edit, and compose
|
2023-10-21 11:43:09 +02:00
|
|
|
images. GD library or Imagick can be selected as the base layer for all
|
|
|
|
operations.
|
2021-12-07 11:00:06 +00:00
|
|
|
|
2023-11-27 19:41:48 +01:00
|
|
|
- Simple interface for common image manipulation tasks
|
2022-07-09 17:58:26 +02:00
|
|
|
- Interchangable driver architecture
|
2021-12-07 11:00:06 +00:00
|
|
|
- Support for animated images
|
2022-07-09 17:58:26 +02:00
|
|
|
- Framework-agnostic
|
2021-12-07 11:00:06 +00:00
|
|
|
- PSR-12 compliant
|
|
|
|
|
2023-11-20 14:21:40 +01:00
|
|
|
## Installation
|
|
|
|
|
2023-12-01 14:55:20 +01:00
|
|
|
You can install this package easily with [Composer](https://getcomposer.org/). Just require the package with the following command:
|
|
|
|
|
2023-11-20 14:21:40 +01:00
|
|
|
```bash
|
|
|
|
composer require intervention/image
|
|
|
|
```
|
|
|
|
|
|
|
|
## Getting started
|
|
|
|
|
|
|
|
Learn the [basics](https://image.intervention.io/v3/basics/instantiation/) on
|
|
|
|
how to use Intervention Image and more with the [official
|
|
|
|
documentation](https://image.intervention.io/v3/).
|
|
|
|
|
2021-12-07 11:00:06 +00:00
|
|
|
## Code Examples
|
|
|
|
|
|
|
|
```php
|
|
|
|
// create image manager with desired driver
|
2023-11-27 19:41:48 +01:00
|
|
|
$manager = new ImageManager(
|
|
|
|
new Intervention\Image\Drivers\Gd\Driver()
|
|
|
|
);
|
2021-12-07 11:00:06 +00:00
|
|
|
|
|
|
|
// open an image file
|
2023-10-01 09:59:05 +02:00
|
|
|
$image = $manager->read('images/example.gif');
|
2021-12-07 11:00:06 +00:00
|
|
|
|
|
|
|
// resize image instance
|
2023-09-29 17:06:31 +02:00
|
|
|
$image->resize(height: 300);
|
2021-12-07 11:00:06 +00:00
|
|
|
|
|
|
|
// insert a watermark
|
|
|
|
$image->place('images/watermark.png');
|
|
|
|
|
|
|
|
// encode edited image
|
|
|
|
$encoded = $image->toJpg();
|
|
|
|
|
|
|
|
// save encoded image
|
|
|
|
$encoded->save('images/example.jpg');
|
|
|
|
```
|
|
|
|
|
|
|
|
## Requirements
|
|
|
|
|
2023-09-29 17:06:31 +02:00
|
|
|
- PHP >= 8.1
|
2021-12-07 11:00:06 +00:00
|
|
|
|
|
|
|
## Supported Image Libraries
|
|
|
|
|
|
|
|
- GD Library
|
|
|
|
- Imagick PHP extension
|
|
|
|
|
2023-09-30 11:48:42 +02:00
|
|
|
## Development & Testing
|
|
|
|
|
2023-10-21 11:43:09 +02:00
|
|
|
With this package comes a Docker image to build a test suite and analysis
|
|
|
|
container. To build this container you have to have Docker installed on your
|
|
|
|
system. You can run all tests with this command.
|
2023-09-30 11:48:42 +02:00
|
|
|
|
|
|
|
```bash
|
|
|
|
docker-compose run --rm --build tests
|
|
|
|
```
|
|
|
|
|
|
|
|
Run the static analyzer on the code base.
|
|
|
|
|
|
|
|
```bash
|
|
|
|
docker-compose run --rm --build analysis
|
|
|
|
```
|
|
|
|
|
2023-12-08 19:13:42 +01:00
|
|
|
## Security
|
|
|
|
|
|
|
|
If you discover any security related issues, please email oliver@intervention.io directly.
|
|
|
|
|
2021-12-07 11:00:06 +00:00
|
|
|
## License
|
|
|
|
|
|
|
|
Intervention Image is licensed under the [MIT License](http://opensource.org/licenses/MIT).
|
|
|
|
|
2023-12-01 14:55:20 +01:00
|
|
|
Copyright 2020 [Oliver Vogel](http://intervention.io/)
|