【问题标题】:How can I create a linearGradient with pdfkit如何使用 pdfkit 创建一个线性渐变
【发布时间】:2013-05-25 14:59:58
【问题描述】:

我正在寻找有关如何将 linearGradient 与 pdfkit 一起使用的示例 - 请参阅 https://github.com/devongovett/pdfkit/issues/95 "使用doc.linearGradient和doc.radialGradient创建一个渐变对象,传入需要的参数。然后在对象上调用stop方法添加色标。最后给渐变对象设置fillColor。"

这是我制作的示例:

doc.rect(50, 50, 100, 100)
.linearGradient(60, 60, 90, 90)
      .stop([100, 100], "蓝色")
      .fillColor("红色", 1)

但我得到一个编译错误:

node.js:201
扔e; // process.nextTick 错误,或第一次滴答时的 'error' 事件
TypeError: Object # has no method '填充颜色

'

谢谢!

【问题讨论】:

标签: node.js pdf gradient linear-gradients pdfkit


【解决方案1】:

你很接近。错误是因为linearGradient 函数返回一个PDFLinearGradient 对象,并且由于您链接了所有内容,因此在渐变而不是您想要的文档上调用了fillColor 方法。

此外,梯度stop 方法沿两点 (x1, y1) 到 (x2, y2) 之间创建的线取百分比(从 0 到 1),而不是明确的位置。

这是一个工作示例:

var grad = doc.linearGradient(x1, y1, x2, y2);
grad.stop(0, '#000');
grad.stop(1, '#fff');
doc.fillColor(grad);

【讨论】:

    猜你喜欢
    • 2021-10-24
    • 2021-08-14
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多