bertmaurau/php-watermarker

A plain and simple package to watermark images.

dev-master 2019-01-08 10:30 UTC

This package is not auto-updated.

Last update: 2024-06-06 19:22:58 UTC


README

License

A simple and basic library to watermark an image using a source-image and a watermark-image. Function can be used as a static caller as well as an initialized function (see example).

Preview

Usage

Installation

Via Composer

composer require bertmaurau/php-watermarker

Example

// example (examples/add-watermark.php)
use BertMaurau\Watermarker;

// the source/original image
$sourceImage = __DIR__ . DIRECTORY_SEPARATOR . 'source.jpg';
// the image used as the watermark
$watermarkImage = __DIR__ . DIRECTORY_SEPARATOR . 'watermark.png';

// available positions
/*
 * Position:: TOP_LEFT | TOP_CENTER | TOP_RIGHT | CENTER_CENTER | BOTTOM_LEFT | BOTTOM_CENTER | BOTTOM_RIGHT
 */

// available imageTypes
/*
 * ImageType:: JPEG | BMP | GIF | PNG
 */

// Static method
/**
 * Function arguments
 * @param string required $sourceImage       The image to put the watermark on
 * @param string required $watermarkImage    The image that you want to use as a watermark
 * @param string optional $outputPath        The path where the generated image should be placed (check your permissions)
 * @param string optional $outputFilename    The filename you want to give the exported file
 * @param string optional $outputExtension   The extension it should have
 * @param string optional $position          The position to put the watermark at
 * @param int optional $outputQuality        The exported quality (Used for .jpg or for compression with .png [1-100])
 */
try {
    Watermarker\Watermark::AddImageAsWatermark($sourceImage, $watermarkImage, __DIR__, $filename = Watermarker\Position::CENTER_CENTER, Watermarker\ImageType::JPEG, Watermarker\Position::BOTTOM_CENTER, 100);
} catch (\Exception $ex) {
    echo $ex -> getMessage();
}

// Initialized mathod
try {
    $marker = (new Watermarker\Watermark)
            -> setSourceImage($sourceImage)
            -> setWatermarkImage($watermarkImage)
            -> setOutputPath(__DIR__)
            // other setters
            -> watermark();
} catch (Exception $ex) {
    echo $ex -> getMessage();
}

View all examples.

Issues

For bug reporting or code discussions.

Credits

License

The module is licensed under MIT.