【发布时间】:2018-03-22 16:50:26
【问题描述】:
我有一个应用程序,我需要通过改变色调、饱和度和亮度的值来改变图像的颜色。
以下是示例图片:
当我将 HSL 值分别传递为 90、100、50 时。
它应该返回如下图像
知道如何在节点锐化中实现这一点吗?
提前致谢。
【问题讨论】:
我有一个应用程序,我需要通过改变色调、饱和度和亮度的值来改变图像的颜色。
以下是示例图片:
当我将 HSL 值分别传递为 90、100、50 时。
它应该返回如下图像
知道如何在节点锐化中实现这一点吗?
提前致谢。
【问题讨论】:
在这里回答:
https://github.com/jcupitt/libvips/issues/770
总结:在命令行你可以做到:
$ vips colourspace red-shirt.jpg x.v lch
$ vips linear x.v green-shirt.jpg "1.5 1.5 1" "0 0 120"
切换到 LCh 色彩空间并调整色调和色度,或者在 node-vips 中您可以这样做:
var vips = require('vips');
var image = vips.Image.newFromFile(process.argv[2]);
image = image
.colourspace('lch')
.add([0, 0, 120])
.multiply([1.5, 1.5, 1]);
image.writeToFile(process.argv[3]);
【讨论】: