用魔杖塑造阴影

Shaped shadows with wand

是否有等同于:

的函数
convert -background none -stroke black -fill white \
        -font Candice -pointsize 48 label:A -trim \
        \( +clone   -background navy   -shadow 80x3+3+3 \) +swap \
        -background none   -layers merge +repage  shadow_a.png

这会产生带有蓝色阴影的 'A'。

我已经彻底搜索了文档,但找不到任何东西。
这还不可能吗?

并非所有 CLI 方法都存在于 集成的 C-API 库中。然而,大多数行为方法都是直截了当的(例如 +swap),您可以根据应用程序的需要自由实施它们。

from wand.image import Image
from wand.color import Color
from wand.drawing import Drawing
from wand.compat import nested

with nested(Image(width=100, height=100, background=Color("transparent")),
            Image(width=100, height=100, background=Color("transparent"))) as (text,
                                                                               shadow):
    with Drawing() as ctx:
        ctx.stroke_color = Color("black")
        ctx.fill_color = Color("white")
        ctx.font_size = 48
        ctx.text(text.width/2, text.height/2, 'A')
        ctx(text)
    with Drawing() as ctx:
        ctx.fill_color = Color("navy")
        ctx.font_size = 48
        ctx.text(text.width/2, text.height/2, 'A')
        ctx(shadow)
    shadow.gaussian_blur(80, 3)
    shadow.composite(text, -3, -3)
    shadow.trim()
    shadow.save(filename='shadow_a.png')