【发布时间】:2020-05-29 11:53:18
【问题描述】:
我正在尝试使用 reportlab 重现模糊/文本阴影效果。像这样的东西。
到目前为止,我的方法是使用填充颜色(文本本身或背景),但我认为如果我遵循这条路径我不会成功,因为 class 只接受不透明度(alpha) 除了定义颜色本身的参数之外的参数。现在我正在尝试找到一些可以模仿这种效果的字体。
那么,reportlab 可以重现理想的效果吗?如果是,我应该使用哪种方法来实现它?
非常感谢!
【问题讨论】:
我正在尝试使用 reportlab 重现模糊/文本阴影效果。像这样的东西。
到目前为止,我的方法是使用填充颜色(文本本身或背景),但我认为如果我遵循这条路径我不会成功,因为 class 只接受不透明度(alpha) 除了定义颜色本身的参数之外的参数。现在我正在尝试找到一些可以模仿这种效果的字体。
那么,reportlab 可以重现理想的效果吗?如果是,我应该使用哪种方法来实现它?
非常感谢!
【问题讨论】:
我没有看到任何直接的方法来实现模糊效果,就像你 can achieve with CSS 甚至是 PIL library 使用 reportlab。
您可以尝试以下字体中的一种,它们更能模仿这种效果:Acidic、ExtraBlur、Erthqake Font、Static Buzz Font
、vtks trunkset Font 并使用pdfmetrics.registerFont() 和TTFont() 方法(例如使用静态 Buzz 字体):
from reportlab.pdfbase import pdfmetrics
from reportlab.pdfbase.ttfonts import TTFont
from reportlab.pdfgen.canvas import Canvas
canvas = Canvas('temp.pdf')
pdfmetrics.registerFont(TTFont('StaticBuzz', '/path/to/TTF-file/StaticBuzz.ttf')) #Change the path to the .ttf file.
canvas.setFont('StaticBuzz', 32)
canvas.drawString(0, 700, "Sample usage of StaticBuzz Font.")
canvas.save()
【讨论】: