【发布时间】:2015-01-19 19:43:35
【问题描述】:
如何使用 imagemagick 应用 CSS3 'filter: grayscale' 百分比的相同效果? 使用-colorspace gray,它与灰度(100%)相同,我找不到如何更改百分比。
我想可能会将灰度版本与原始版本叠加一个百分比,但我找不到方法。
【问题讨论】:
标签: css imagemagick grayscale
如何使用 imagemagick 应用 CSS3 'filter: grayscale' 百分比的相同效果? 使用-colorspace gray,它与灰度(100%)相同,我找不到如何更改百分比。
我想可能会将灰度版本与原始版本叠加一个百分比,但我找不到方法。
【问题讨论】:
标签: css imagemagick grayscale
修改后的答案
您所做的实际上是对输入图像进行部分去饱和。您可以使用 ImageMagick 中的 -modulate 函数来执行此操作,该函数将每个像素转换为 HSL(色相饱和度和亮度)色彩空间,并允许您为每个参数指定一个百分比乘数。因此,您可以通过将作为第二个参数的 Saturation 降低到 30 来实现相同的效果,如下所示:
convert input.jpg -modulate 100,30 output.jpg
接受的原始答案
我认为你需要这个:
convert image.jpg \
\( +clone -colorspace gray \) \
-define compose:args=70% -compose blend -composite out.jpg
它获取原始图像并创建它的克隆。然后将克隆设置为灰度,并将混合百分比设置为 70。然后混合两个图像并将结果保存为out.jpg。当然,您可以根据需要更改百分比。
它会转换这个
进入这个
【讨论】:
convert input.jpg -colorspace HSL -channel S -evaluate multiply 0.3 +channel -colorspace sRGB output.jpg