CSS3 的 'filter: grayscale(x)' 与 ImageMagick 的等价物
Equivalent of CSS3's 'filter: grayscale(x)' with ImageMagick
如何使用 imagemagick 应用 CSS3 'filter: grayscale' 百分比的相同效果?
使用-colorspace gray,它与灰度(100%)相同,我找不到如何更改百分比。
我想也许可以用一个百分比覆盖灰度版本与原始版本,但我找不到如何。
修改后的答案
您所做的基本上是对输入图像进行部分去饱和处理。您可以使用 ImageMagick 中的 -modulate
函数执行此操作,该函数将每个像素转换为 HSL(色调饱和度和亮度)色彩空间,并允许您为每个参数指定一个百分比乘数。因此,您可以通过将作为第二个参数的饱和度降低到 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
。当然你可以根据需要更改百分比。
它会转换这个
进入这个
如何使用 imagemagick 应用 CSS3 'filter: grayscale' 百分比的相同效果? 使用-colorspace gray,它与灰度(100%)相同,我找不到如何更改百分比。
我想也许可以用一个百分比覆盖灰度版本与原始版本,但我找不到如何。
修改后的答案
您所做的基本上是对输入图像进行部分去饱和处理。您可以使用 ImageMagick 中的 -modulate
函数执行此操作,该函数将每个像素转换为 HSL(色调饱和度和亮度)色彩空间,并允许您为每个参数指定一个百分比乘数。因此,您可以通过将作为第二个参数的饱和度降低到 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
。当然你可以根据需要更改百分比。
它会转换这个
进入这个