使用wand.drawing.Drawing,您需要构建绘图对象的“上下文”.可以通过直接在绘图对象实例上设置属性来定义字体样式,族,系列,颜色等等.
from wand.image import Image
from wand.color import Color
from wand.drawing import Drawing
from wand.display import display
with Image(width=200, height=150, background=Color('lightblue')) as canvas:
with Drawing() as context:
context.fill_color = Color('orange')
context.stroke_color = Color('brown')
context.font_style = 'italic'
context.font_size = 24
context.text(x=25,
y=75,
body="Hello World!")
context(canvas)
canvas.format = "png"
display(canvas)
但是如果你的绘图对象已经有了矢量属性呢?
这是Drawing.push()& Drawing.pop()可用于管理您的图纸堆栈.
# Default attributes for drawing circles
context.fill_color = Color('lime')
context.stroke_color = Color('green')
context.arc((75, 75), (25, 25), (0, 360))
# Grow context stack for text style attributes
context.push()
context.fill_color = Color('orange')
context.stroke_color = Color('brown')
context.font_style = 'italic'
context.font_size = 24
context.text(x=25,
y=75,
body="Hello World!")
# Return to previous style attributes
context.pop()
context.arc((175, 125), (150, 100), (0, 360))