gpt4 book ai didi

text - 在 ImageMagick 中使用堆栈有选择地模糊图像的一部分

转载 作者:行者123 更新时间:2023-12-05 01:30:33 25 4
gpt4 key购买 nike

我正在尝试使用阴影在基本图像上注释一些文本。我不喜欢使用 -shadow 选项得到的结果,所以我放下文本,模糊它,然后再次放下白色文本,从阴影偏移几个像素。这是我正在使用的命令:

convert base_image.jpg \
-font TT0590M_.ttf \
-fill gray30 \
-annotate +0+0 '' -gravity North \
-annotate +72+32 'ABCDEFGHIJKLM' \
-blur 0x4 \
-fill white \
-annotate +72+27 'ABCDEFGHIJKLM' \
combined.png

我的问题是 -blur 选项不仅模糊了第一层文本,还模糊了底层的基本图像。我只希望第一层文本模糊,而不是基本图像。

我阅读了一些有关使用堆栈的内容,并尝试在该部分周围使用 \(\) 来隔离第一层文本和模糊命令,例如以下内容:

convert base_image.jpg \
-font TT0590M_.ttf \
-fill gray30 \
-annotate +0+0 '' -gravity North \
\( -annotate +72+32 'ABCDEFGHIJKLM' \
-blur 0x4 \) \
-fill white \
-annotate +72+27 'ABCDEFGHIJKLM' \
combined.png

结果是一样的——文本阴影和基础图像都变模糊了。恐怕我不太了解堆栈或我应该使用哪些其他命令来获得我想要的效果。

最佳答案

正如经常发生的那样,自发布问题以来,我一直在努力解决这个问题,并且我已经设法自己解决了它。

重要的变化是我从一个空白的透明 Canvas 开始,而不是从基本图像开始。在我得到正确的文本后,我将基本图像插入到堆栈中,交换堆栈中两个图像的顺序,然后将它们与“屏幕”的组合类型合成,这将一个放在另一个之上。

另一个重要说明:由于 IM 工作方式的特殊性,需要 -channel RGBA 以便模糊与文本层的透明度一起工作。为什么这是必要的解释 on this page .

此外,在 Windows 系统上(.bat 文件而不是 shell 脚本),单引号需要是双引号,反斜杠“\”需要是脱字符“^”,否则一切都会崩溃。

下面的脚本是最终的工作结果(*nix 版本):

convert  \
-size 500x500 xc:transparent \
-font TT0590M_.ttf \
-annotate +0+0 '' -gravity North \
-fill gray30 \
-annotate +75+35 'ABCDEFGHIJKLMNOPQR\nABCDEFGHIJKLMNOPQR' \
-channel RGBA \
-blur 0x4 \
-fill white \
-annotate +72+30 'ABCDEFGHIJKLMNOPQR\nABCDEFGHIJKLMNOPQR' \
-insert 0 base_image.jpg \
-swap 0,1 \
-composite -compose screen \
combined.png

关于text - 在 ImageMagick 中使用堆栈有选择地模糊图像的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/376887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com