elfeffe/php-image-optim

A library to aid in image optimisation

dev-master 2015-09-03 11:55 UTC

This package is auto-updated.

Last update: 2024-10-31 17:48:43 UTC


README

This is a fork of bensquire library, where I plan to add some other tools.

The purpose of this library is to help automate the optimisation of images via the command line in PHP,

Installation:

The library is PSR-0 compliant and the simplest way to install it is via composer, simply add:

{
    "require": {
        "elfeffe/php-image-optim": "dev-master"
    }
}

into your composer.json, then run 'composer install' or 'composer update' as required.

Example:

This example demonstrates the optimisation of a PNG file, by chaining several commands together.

<?php
    use PHPImageOptim\PHPImageOptim,
        PHPImageOptim\Tools\Png\OptiPng,
        PHPImageOptim\Tools\Png\PngCrush,
        PHPImageOptim\Tools\Png\PngQuant;

    include('../../vendor/autoload.php');

    $advPng = new AdvPng();
    $advPng->setBinaryPath('/usr/local/bin/advpng');

    $optiPng = new OptiPng();
    $optiPng->setBinaryPath('/usr/local/bin/optipng');

    $pngOut = new PngOut();
    $pngOut->setBinaryPath('/usr/bin/pngout');

    $pngCrush = new PngCrush();
    $pngCrush->setBinaryPath('/usr/local/bin/pngcrush');

    $pngQuant = new PngQuant();
    $pngQuant->setBinaryPath('/usr/local/bin/pngquant');

    $optim = new PHPImageOptim();
    $optim->setImage('/tmp/lenna.png');
    $optim  ->chainCommand($pngQuant)
            ->chainCommand($advPng)
            ->chainCommand($optiPng)
            ->chainCommand($pngCrush)
            ->chainCommand($pngOut);
    $optim->optimise();