Extract colors from an image like a human would do.
Via Composer
$ composer require league/color-extractor:0.1.*
require 'vendor/autoload.php';
use League\ColorExtractor\Client as ColorExtractor;
$client = new ColorExtractor;
$image = $client->loadPng('./some/image.png');
// Get the most used color hex code
$palette = $image->extract();
// Get three most used color hex code
$palette = $image->extract(3);
// Change the Minimum Color Ratio (0 - 1)
// Default: 0
$image->setMinColorRatio(1);
$palette = $image->extract();
Integration with most frameworks would require a bridge package, but for Silex and Laravel 4 a simple service provider will suffice.
First register ColorExtractorServiceProvider
in your application:
use League\ColorExtractor\Silex\ColorExtractorServiceProvider;
// ... create $app
$app->register(new ColorExtractorServiceProvider);
Then you can use like this:
$image = $app['color-extractor']->loadPng('./some/image.png');
...
$palette = $image->extract();
Find the providers
key in app/config/app.php
and register the ColorExtractorServiceProvider
:
'providers' => array(
// ...
'League\ColorExtractor\Laravel\ColorExtractorServiceProvider',
)
Then you can use it exactly the same way as the Silex service provider.
If you prefer to use Facades, find the aliases
key in app/config/app.php
and register the ColorExtractorFacade
:
'aliases' => array(
// ...
'ColorExtractor' => 'League\ColorExtractor\Laravel\ColorExtractorFacade',
)
Example:
$image = ColorExtractor::loadPng('./some/image.png');
...
$palette = $image->extract();
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.