2013-05-25 4 views
0

Я искал и пример того, как использовать LinearGradient с pdfkit - см https://github.com/devongovett/pdfkit/issues/95 «Использование doc.linearGradient и doc.radialGradient создать объект градиента, передавая необходимые параметры. Затем вызовите метод остановки объекта, чтобы добавить прекращение цвета. Наконец, установите fillColor в объект градиента. "
Как я могу создать LinearGradient с pdfkit

Это пример я созданный:

doc.rect(50, 50, 100, 100)
      .linearGradient(60, 60, 90, 90)
      .stop([100, 100], "blue")
      .fillColor("red", 1)

Но я получаю ошибку компиляции:

node.js:201
throw e; // process.nextTick error, or 'error' event on first tick
TypeError: Object #<PDFLinearGradient> has no method 'fillColor

'

спасибо!

+0

также см http://www.c-sharpcorner.com/uploadfile/mahesh/wpf-lineargradientbrush/ для C# с МОФ –

+0

и есть; OOK на https: //gist.github.com/mattbaker/1509145 –

ответ

1

Вы близко. Ошибка состояла в том, что функция linearGradient возвращает объект PDFLinearGradient, и поскольку вы все цепят, метод fillColor вызывается на градиенте, а не на документе, как вы планировали.

Кроме того, метод градиента stop принимает процент (от 0 до 1) вдоль линии, созданной между двумя точками (x1, y1) - (x2, y2), а не явным положением.

Вот рабочий пример:

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

 Смежные вопросы

  • Нет связанных вопросов^_^