除了 ImageMagick 中的圆角矩形之外,有没有办法使图像变暗?
Is there a way to darken an image except for a rounded rectangle in ImageMagick?
演示。
原文:
ImageMagick 之后:
我有一些想法:
- 复制图像,裁剪副本,然后将图像拼合在一起
- 反向掩码?
有人有什么建议吗?
您可以在 Imagemagick 中通过使整个图像变暗、创建圆角矩形蒙版图像、然后使用蒙版图像将原始图像与变暗的图像合成来实现这一点。
输入:
convert pasta.jpg \
\( -clone 0 -brightness-contrast -75,0 \) \
\( -clone 0 -fill white -colorize 100 -fill black -draw "roundrectangle 20,20 80,80 15,15" -alpha off \) \
-compose over -composite \
pasta_rect.jpg
结果:
虽然已经成功回答了这个问题,但我将提供另一种使用 IMv6 的简单方法...
convert pasta.jpg -fill white \
\( +clone -evaluate set 25% -draw "roundrectangle 20,20 80,80 15,15" \) \
-compose multiply -composite result.png
读取输入图像后,在括号中克隆输入并使用 -evaluate
将整个克隆设置为 25% 灰度。在您要保留的区域的灰色图像上绘制一个白色的“roundrectangle”。面具看起来像这样...
然后在括号后,该蒙版和输入图像与 -compose multiply
合成。留下原始输入中的白色矩形区域,图像的其余部分乘以 0.25,使其变暗。结果...
通过将“convert”更改为“magick”,此命令在 IMv7 中应该可以正常工作。通过将 continued-line 反斜杠“\”更改为脱字符“^”,并删除括号前的任何反斜杠,它在 Windows CLI 上也能正常工作,所以这个“\(...\)”到这个“(...)”。
演示。
原文:
ImageMagick 之后:
我有一些想法:
- 复制图像,裁剪副本,然后将图像拼合在一起
- 反向掩码?
有人有什么建议吗?
您可以在 Imagemagick 中通过使整个图像变暗、创建圆角矩形蒙版图像、然后使用蒙版图像将原始图像与变暗的图像合成来实现这一点。
输入:
convert pasta.jpg \
\( -clone 0 -brightness-contrast -75,0 \) \
\( -clone 0 -fill white -colorize 100 -fill black -draw "roundrectangle 20,20 80,80 15,15" -alpha off \) \
-compose over -composite \
pasta_rect.jpg
结果:
虽然已经成功回答了这个问题,但我将提供另一种使用 IMv6 的简单方法...
convert pasta.jpg -fill white \
\( +clone -evaluate set 25% -draw "roundrectangle 20,20 80,80 15,15" \) \
-compose multiply -composite result.png
读取输入图像后,在括号中克隆输入并使用 -evaluate
将整个克隆设置为 25% 灰度。在您要保留的区域的灰色图像上绘制一个白色的“roundrectangle”。面具看起来像这样...
然后在括号后,该蒙版和输入图像与 -compose multiply
合成。留下原始输入中的白色矩形区域,图像的其余部分乘以 0.25,使其变暗。结果...
通过将“convert”更改为“magick”,此命令在 IMv7 中应该可以正常工作。通过将 continued-line 反斜杠“\”更改为脱字符“^”,并删除括号前的任何反斜杠,它在 Windows CLI 上也能正常工作,所以这个“\(...\)”到这个“(...)”。