0

我一直在寻找有关如何将 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], "blue")
      .fillColor("red", 1)

但我得到一个编译错误:

node.js:201
抛出 e;// process.nextTick 错误,或第一次滴答时发生 'error' 事件
TypeError: Object #<PDFLinearGradient> has no method 'fillColor

'

谢谢!

4

1 回答 1

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);
于 2014-01-18T21:33:53.533 回答