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

https://github.com/io-developer/php-thumbnails

Lib for thumbnailing images and watermarking
https://github.com/io-developer/php-thumbnails

Last synced: about 1 year ago
JSON representation

Lib for thumbnailing images and watermarking

Awesome Lists containing this project

README

          

# Thumbnails
PHP library for image thumbnaling and watermarking

## Requirements
PHP >= 5.4
- gd
- iodev\Lib\ImageTransform (https://github.com/io-developer/php-imagetransform)

## Usage

### Defining image types
```php
setCommonResolver($_SERVER["DOCUMENT_ROOT"], "/files/content-by-id")
->setPrimaryThumbnailName(MyImageType::ORIGINAL)
->addThumbnail(
ThumbnailBuilder::create()
->name(MyImageType::ORIGINAL)
->size(4096, 4096)
->modeContain()
->formatSource()
->toThumbnail()
)
->addThumbnail(
ThumbnailBuilder::create()
->name(MyImageType::FULLSIZE)
->size(4096, 4096)
->modeContain()
->formatSource()
->watermarkAdaptive("watermark.png")
->toThumbnail()
)
->addThumbnail(
ThumbnailBuilder::create()
->name(MyImageType::WIDE)
->size(1280, 720)
->modeCover()
->formatJpeg(95)
->watermarkAdaptive("watermark.png")
->toThumbnail()
)
->addThumbnail(
ThumbnailBuilder::create()
->name(MyImageType::SQUARE)
->size(150, 150)
->modeCover()
->formatPng()
->toThumbnail()
)
->toThumbnailer();
}
}
```

### Defining image class
```php
path = $path;
return $m;
}

/** @var string */
public $path = "";

/**
* @return string
*/
public function toUri( $imageType="" )
{
return self::getThumbnailer()
->resolveLocationByName($this->path, $imageType);
}

/**
* @return string
*/
public function toFullsizeUri()
{
return $this->toUri(MyImageType::FULLSIZE);
}

/**
* @return string
*/
public function toWideUri()
{
return $this->toUri(MyImageType::WIDE);
}

/**
* @return string
*/
public function toSquareUri()
{
return $this->toUri(MyImageType::SQUARE);
}
}
```

### Uploading on form submitting
```php
thumbnailFormInput($contentId, $inputName, $areaSet, $overlayWatermarks);

// thumbnailed image path to store to somewhere
$path = $result->getPrimaryPath();

$myThumbnailedImage = new MyImage($path);

```

### Updating
```php
reThumbnailPath($contentId, $oldPath, $areaSet, $overlayWatermarks);

// thumbnailed image path to save
$newPath = $result->getPrimaryPath();

$myThumbnailedImage = new MyImage($newPath);

```

### Using thumbnailed images
```php
toUri();

// fullsized watermarked
echo $image->toFullsizeUri();

// wide watermarked
echo $image->toWideUri();

// square
echo $image->toSquareUri();

```