Я попытался перекрасить изображение с помощью GraphicsMagick. Кроме того, я использовал пакет 'gm' node.js, чтобы написать небольшой скрипт. Основная цель состояла в том, чтобы оставить белый цвет таким, какой он есть, и просто изменить другие цвета.
Traget-RGB составляет (38, 250, 5)
Используемая мной цветовая матрица выглядит следующим образом:
1 0.15 0.15
0.98 1 0.98
0.02 0.02 1
Мой расчет других значений:
38 / 255 = 0.15
250 / 255 = 0.98
5 / 255 = 0.02
Небольшой сценарий, который я написал, выглядит следующим образом:
var fs = require('fs');
var gm = require('gm');
gm('./input/image.png')
.recolor("1 0.15 0.15 , 0.98 1 0.98 , 0.02 0.02 1")
.write('./output/image.png', function (err) {
if (!err) console.log('done');
if (err) console.log(err);
});
Моя мысль заключалась в том, что diag не касается значения белого и других значений, измененных на целевое значение. У него есть почти тот результат, которого я ожидал, но только почти.