Node.js 使用GraphicsMagick重新存储图像

Node.js 使用GraphicsMagick重新存储图像,node.js,graphicsmagick,colormatrix,Node.js,Graphicsmagick,Colormatrix,我试图用GraphicsMagick重新绘制一幅图像。此外,我还使用'gm'node.js包编写了一个小脚本。主要目标是保持白色不变,只需改变其他颜色 特拉吉特RGB是(38250,5) 我使用的颜色矩阵如下所示: 1 0.15 0.15 0.98 1 0.98 0.02 0.02 1 var fs = require('fs'); var gm = require('gm'); gm('./input/image.png') .recolor("1 0.15 0.15

我试图用GraphicsMagick重新绘制一幅图像。此外,我还使用'gm'node.js包编写了一个小脚本。主要目标是保持白色不变,只需改变其他颜色

特拉吉特RGB是(38250,5)

我使用的颜色矩阵如下所示:

1 0.15 0.15   
0.98 1 0.98   
0.02 0.02 1   
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);
});
我对其他值的计算如下:

38 / 255 = 0.15  
250 / 255 = 0.98  
5 / 255 = 0.02  
我写的小脚本如下所示:

1 0.15 0.15   
0.98 1 0.98   
0.02 0.02 1   
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上的一个不接触白色值,其他值与目标值发生变化。它几乎达到了我所期望的结果,但仅仅是接近