An open API service indexing awesome lists of open source software.

https://github.com/byjg/php-imageutil

A wrapper collection for GD library in PHP.
https://github.com/byjg/php-imageutil

Last synced: about 1 month ago
JSON representation

A wrapper collection for GD library in PHP.

Awesome Lists containing this project

README

          

# ImageUtil Library

[![Build Status](https://github.com/byjg/php-imageutil/actions/workflows/phpunit.yml/badge.svg?branch=master)](https://github.com/byjg/php-imageutil/actions/workflows/phpunit.yml)
[![Opensource ByJG](https://img.shields.io/badge/opensource-byjg-success.svg)](http://opensource.byjg.com)
[![GitHub source](https://img.shields.io/badge/Github-source-informational?logo=github)](https://github.com/byjg/php-imageutil/)
[![GitHub license](https://img.shields.io/github/license/byjg/php-imageutil.svg)](https://opensource.byjg.com/opensource/licensing.html)
[![GitHub release](https://img.shields.io/github/release/byjg/php-imageutil.svg)](https://github.com/byjg/php-imageutil/releases/)

ImageUtil is a PHP library that provides a collection of operations for image manipulation using the GD library.
It simplifies tasks such as flipping, cropping, resizing, stamping, and more.

## Installation

To install ImageUtil, use the following composer command:

```
composer require "byjg/imageutil"
```

## Supported Formats

ImageUtil supports the following image formats:

- GIF
- JPEG
- PNG
- BMP
- WEBP
- SVG (Partial support. Primarily for converting SVG to other formats, not for SVG manipulation.)

## Creating an Image

You can create an image from a file, URL, existing resource, or create an empty image:

```php
save('path_to_image.png');
```

## Image Manipulation

ImageUtil provides several methods for image manipulation:

- **Flip**: Mirror the image vertically or horizontally.
- **Rotate**: Rotate the image by a specified angle.
- **Resize**: Resize the image to specified dimensions.
- **Resize Square**: Resize the image to a square format while maintaining the aspect ratio. Any extra space is filled with the provided RGB color.
- **Resize AspectRatio**: Resize the image while maintaining the aspect ratio. Any extra space is filled with the provided RGB color.
- **Stamp Image**: Stamp another image onto the current image.
- **Write Text**: Write text onto the image.
- **Crop Image**: Crop the image from a specified point to another point.
- **Make Transparent**: Make the image transparent. The transparent color must be provided.

See some examples [here](docs/examples.md).

## Saving and Restoring Changes

You can save the changes to the image, restore the image to its original state, or destroy the image resource:

```php
save('filename.gif');
$img->restore();
$img->destroy();
```

## Other Functions

ImageUtil also provides methods to get the image dimensions and the image resource:

```php
getWidth();
$height = $img->getHeight();
$resource = $img->getResource();
```

## Dependencies

ImageUtil depends on the GD extension for PHP:

```mermaid
flowchart TD
byjg/imageutil --> ext-gd
```

[Open source ByJG](http://opensource.byjg.com)