1

我一直在使用带有 NodeJS 的 PDFKit 为我们正在开发的应用程序生成 PDF,但我无法设置描边不透明度并将不透明度填充到路径。

这是一张应该是什么样子的图像: 来自构建器的图像

这是它在 PDF 中的显示方式:(忽略一些区域的浅灰色,它是水印) PDF 图片

两者的不透明度值都应为 0.6。这就是我尝试应用填充描边和不透明度的方式:

pdfDocument.path(pathString);
pdfDocument.lineCap('butt');
pdfDocument.lineJoin('miter');
pdfDocument.lineWidth(strokeWidth);

pdfDocument.fillOpacity(opacity);
pdfDocument.strokeOpacity(opacity);

pdfDocument.fillAndStroke(fillColor, strokeColor, fillRule);

pdfDocument.stroke();

我不明白为什么不对描边和填充应用不透明度。我已经尝试过只使用不透明度功能并移动两组不透明度,但什么也没发生。

4

1 回答 1

2

调试库后发现2014年的这个问题

不透明度 #259

原来我们需要在设置之前设置fillColorwith opacity 和with opacity 。strokeColorfillAndStroke

pdfDocument.path(pathString);
pdfDocument.lineCap('butt');
pdfDocument.lineJoin('miter');
pdfDocument.lineWidth(strokeWidth);

// HERE IS THE TRICK.
pdfDocument.fillColor(fillColor, opacity);
pdfDocument.strokeColor(strokeColor, opacity);

pdfDocument.fillAndStroke(fillColor, strokeColor, fillRule);

pdfDocument.stroke();
于 2017-11-20T14:53:55.227 回答