30 lines
841 B
PHP
30 lines
841 B
PHP
<?php
|
|
|
|
namespace Intervention\Image\Gd\Commands;
|
|
|
|
use Intervention\Image\Commands\AbstractCommand;
|
|
|
|
class ColorizeCommand extends AbstractCommand
|
|
{
|
|
/**
|
|
* Changes balance of different RGB color channels
|
|
*
|
|
* @param \Intervention\Image\Image $image
|
|
* @return boolean
|
|
*/
|
|
public function execute($image)
|
|
{
|
|
$red = $this->argument(0)->between(-100, 100)->required()->value();
|
|
$green = $this->argument(1)->between(-100, 100)->required()->value();
|
|
$blue = $this->argument(2)->between(-100, 100)->required()->value();
|
|
|
|
// normalize colorize levels
|
|
$red = round($red * 2.55);
|
|
$green = round($green * 2.55);
|
|
$blue = round($blue * 2.55);
|
|
|
|
// apply filter
|
|
return imagefilter($image->getCore(), IMG_FILTER_COLORIZE, $red, $green, $blue);
|
|
}
|
|
}
|