如何在图像中为文本添加阴影?

时间:2015-05-19 21:45:38

标签: node.js imagemagick

如何在此图片中为文字添加阴影:http://i.stack.imgur.com/Qk4kk.png

我使用以下代码在图像中生成文本。但我不知道如何添加阴影:

gm(filename)
    .font("Arial")
    .fontSize(72)
    .drawText(0, 0, text, 'Center')
    .write("./result.png", clb);

1 个答案:

答案 0 :(得分:5)

执行文本的最简单方法是将其两次绘制相同的文本。第一个是阴影,然后是实际文本。

实施例

convert wizard: -font Arial -pointsize 72 -gravity center \
        -fill black -draw 'text 1 1 "Hello_World"' \
        -fill pink  -draw 'text 0 0 "Hello_World"' \
        ./result.png

add a shadow to text

您可以相互依赖地添加阴影的模糊或其他效果。请参阅examples

我对javascript gm了解不多,但我想它可能看起来像......

gm(filename)
    .font("Arial")
    .fontSize(72)
    .fill(shadowColor)
    .drawText(1, 1, text, 'Center')
    .fill(textColor)
    .drawText(0, 0, text, 'Center')
    .write("./result.png", clb);