使用 PDFBox 绘制透明线
我想在 PDFBox 中用透明线绘制线条和多边形。这是我如何绘制蓝线的一些示例代码,但我无法弄清楚如何更改颜色的 alpha 值。
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage(page);
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.setStrokingColor(66, 177, 230);
contentStream.drawLine(100, 100, 200, 200);
I would like to draw lines and polygons with transparent lines in PDFBox. Here is some sample code of how I am drawing a blue line, but I cannot figure out to change the alpha value of the color.
PDDocument document = new PDDocument();
PDPage page = new PDPage();
document.addPage(page);
PDPageContentStream contentStream = new PDPageContentStream(document, page);
contentStream.setStrokingColor(66, 177, 230);
contentStream.drawLine(100, 100, 200, 200);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
从 PDFBox 2.0 开始,
appendRawCommands
已弃用。As of PDFBox 2.0
appendRawCommands
is deprecated.您可以通过使用自定义扩展图形状态来实现此目的:
You can achieve this by using a custom extended graphics state:
您不能使用 java.awt.Color 的 alpha 值,因为 PDFBox 仅使用 RGB 值。根据
public void setStrokingColor(Color color)
的 javadoc 它只是:一种选择是将背景颜色设置为描边颜色,以使线条不可见。
注意 - 隐形!=透明(这样你就不会获得透视效果)
You cannot use the alpha value of the
java.awt.Color
as PDFBox only uses the RGB value. As per javadoc ofpublic void setStrokingColor(Color color)
it just:One option could be that you set the background color as the stroking color to make your line invisible.
NOTE - Invisible != Transparent (so you won't get the see through effect)