用魔杖塑造阴影
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 方法都存在于 wand 集成的 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')
是否有等同于:
的函数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 方法都存在于 wand 集成的 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')