https://github.com/spatie/image
Manipulate images with an expressive API
https://github.com/spatie/image
gd image imagick php
Last synced: 20 days ago
JSON representation
Manipulate images with an expressive API
- Host: GitHub
- URL: https://github.com/spatie/image
- Owner: spatie
- License: mit
- Created: 2017-01-31T11:14:22.000Z (almost 9 years ago)
- Default Branch: main
- Last Pushed: 2025-05-12T04:11:26.000Z (9 months ago)
- Last Synced: 2025-05-12T05:24:40.416Z (9 months ago)
- Topics: gd, image, imagick, php
- Language: PHP
- Homepage: https://freek.dev/2619-new-major-versions-for-spatieimage-and-laravel-media-library-have-been-released
- Size: 19.7 MB
- Stars: 1,301
- Watchers: 17
- Forks: 132
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
Awesome Lists containing this project
README
Manipulate images with an expressive API
[](https://packagist.org/packages/spatie/image)
[](LICENSE.md)
[](https://github.com/spatie/image/actions/workflows/run-tests.yml)
[](https://packagist.org/packages/spatie/image)
Image manipulation doesn't have to be hard. Here are a few examples on how this package makes it very easy to manipulate images.
```php
use Spatie\Image\Image;
// modifying the image so it fits in a 100x100 rectangle without altering aspect ratio
Image::load($pathToImage)
->width(100)
->height(100)
->save($pathToNewImage);
// overwriting the original image with a greyscale version
Image::load($pathToImage)
->greyscale()
->save();
// make image darker and save it in low quality
Image::load($pathToImage)
->brightness(-30)
->quality(25)
->save();
// rotate the image and sharpen it
Image::load($pathToImage)
->orientation(90)
->sharpen(15)
->save();
```
You'll find more examples in [the full documentation](https://docs.spatie.be/image).
## Support us
[
](https://spatie.be/github-ad-click/image)
We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us).
We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https://spatie.be/about-us). We publish all received postcards on [our virtual postcard wall](https://spatie.be/open-source/postcards).
## Installation
You can install the package via composer:
``` bash
composer require spatie/image
```
Please note that since version 1.5.3 this package requires exif extension to be enabled: http://php.net/manual/en/exif.installation.php
## Usage
Head over to [the full documentation](https://spatie.be/docs/image).
## Changelog
Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.
## Testing
``` bash
npm i pixelmatch
composer test
```
## Contributing
Please see [CONTRIBUTING](https://github.com/spatie/.github/blob/main/CONTRIBUTING.md) for details.
## Security
If you've found a bug regarding security please mail [security@spatie.be](mailto:security@spatie.be) instead of using the issue tracker.
## Postcardware
You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.
Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium.
We publish all received postcards [on our company website](https://spatie.be/en/opensource/postcards).
## Credits
- [Freek Van der Herten](https://github.com/freekmurze)
- [All Contributors](../../contributors)
Large parts of this codebase were copied from [Intervention Image](https://image.intervention.io/v3) by [Oliver Vogel](https://github.com/olivervogel), and modified for readability and to fit our needs.
## License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.