Laravel 5 — Как уменьшить цвет по предопределенному массиву в переполнении стека

У меня есть массив из примерно 25 доминирующих цветов из картинки в HEXcode [e1e1e1,333333 и т. Д.] Теперь я хочу использовать массив, полный цветовых кодов, с изображением, которое у меня есть, и уменьшить его цвета, чтобы иметь только те доминирующие цвета.

F.E.
У меня есть это изображение: https://marshallgrain.files.wordpress.com/2011/06/parrot.jpg?w=224&ч = 300
Я хочу, чтобы это было так:
https://upload.wikimedia.org/wikipedia/commons/c/ce/Screen_color_test_VGA_16colors.png

Кроме того, я использую Glide (http://glide.thephpleague.com/) пикселировать и изменить размер / обрезать мое изображение. И вор (https://github.com/ksubileau/color-thief-php) для палитры. Как я могу использовать это с GD или у кого-нибудь есть лучшее решение? поскольку я понятия не имею, как перейти от этой части к удалению / замене цветов.

public function getImage($userDirectory, $imageId, $width=30, $height=30, $colors=25) {
$scaler = 5;

$w = ((int)$width >= 15) ? (int)$width * 4 : 60;
$h = ((int)$height >= 15) ? (int)$height * 4 : 60;
$c = ((int)$colors >= 1) ? (int)$colors : 25;

$path = 'public/images/'.$userDirectory.'/'.$imageId.'.jpg';
$palette = ColorThief::getPalette($path, $c);

$options = ['w'=>$w*$scaler,'h'=>$h*$scaler,'fit'=>'crop','fm'=>'jpg','pixel'=>$scaler,'border'=>'5,000000,expand','mark'=>'logo.png','markx'=>5,'marky'=>5,'markpos'=>'top-left'];

$server = ServerFactory::create([
'watermarks' => 'public/images/'.$userDirectory,
'source' => 'public/images/'.$userDirectory,
'cache' => 'public/images/'.$userDirectory.'/.cache',
]);

$server->outputImage($imageId.'.jpg', $options);
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector