Files
simple-image-compressor/README.md
T
2024-09-27 14:26:29 +03:00

79 lines
2.6 KiB
Markdown

# SimpleImageCompressor
![Version](https://img.shields.io/packagist/v/geckon01/simple-image-compressor)
![Lecense](https://img.shields.io/badge/license-MIT-green)
![Downloads](https://img.shields.io/packagist/dt/geckon01/simple-image-compressor)
[![Codacy Badge](https://app.codacy.com/project/badge/Grade/d773335a657d467faaa0ebb12bc2abe1)](https://app.codacy.com/gh/Geckon01/simple-image-compressor/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)
**SimpleImageCompressor** - is a tiny simple PHP image resizer lib which allows you to resize and compress any image easily on the fly.
## Installation
### With composer
```bash
composer require "geckon01/simple-image-compressor"
```
### Without composer
1. Download latest release [here](https://github.com/Geckon01/simple-image-compressor/releases).
2. Unpack archive to any folder of your project you wish.
3. Load main lib files:
```php
require "src/SimpleImageCompressor.php";
require "src/CompressedImage.php";
use geckon01\SimpleImageCompressor\SimpleImageCompressor;
```
## Usage
To resize and compress your image you can use next code:
```php
$resolutionTargetPercent = 50;
$targetQuality = 50;
$compressor = SimpleImageCompressor::load("image.png");
$compressedImage = $compressor->resizeAndCompress($resolutionTargetPercent, $targetQuality);
$compressedImage->toFile("image");
```
load method supports loading from local file, or you can specify any valid URL image link like this:
```php
$compressor = SimpleImageCompressor::load("https://example.com/image.jpg");
```
This lib support chaining, so you can do something like this:
```php
SimpleImageCompressor::load("image.png")
->resizeAndCompress(50, 50)
->toFile("image");
```
> Note that you don't need to specify file extension. The lib will save
> file with proper one automatically.
### Output format
You can specify output format. Supported output fomats are:
```php
$compressedImage->toFile("image");
```
```php
$compressedImage->toBase64();
```
```php
$compressedImage->toGdImage();
```
### Max/min height/width
Also you can set approximate minumum and maximum image size.
```php
$compressor->setApproxMinimumHeight(500);
$compressor->setApproxMinimumWidth(500);
```
> Note that Due to saving proportion lib can't guarantee that width and height be equals max and min .
As example, if we have original image 1920x1080 which we want to get 50% of original resolution and save original 16x9 aspect ration the reduced image must be 960x540.
## License
This software is licensed under the MIT License. [View the license](LICENSE.md).