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
|
|
|
|
PHP** providing an easier and expressive way to create, edit, and compose
|
|
|
|
images. GD library or Imagick can be selected as the base layer for all
|
|
|
|
operations.
|
2021-12-07 11:00:06 +00:00
|
|
|
|
2022-07-09 17:58:26 +02:00
|
|
|
- Simple interface for common tasks
|
|
|
|
- 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
|
|
|
|
|
|
|
|
```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-03 15:40:49 +01:00
|
|
|
$manager = new ImageManager(driver: 'gd');
|
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
|
|
|
|
```
|
|
|
|
|
2021-12-07 11:00:06 +00:00
|
|
|
## License
|
|
|
|
|
|
|
|
Intervention Image is licensed under the [MIT License](http://opensource.org/licenses/MIT).
|
|
|
|
|
2023-11-27 19:38:51 +01:00
|
|
|
Copyright 2023 Oliver Vogel
|