除了 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 上也能正常工作,所以这个“\(...\)”到这个“(...)”。