我正在使用Java框架iText将图像绘制为pdf。我需要绘制指定宽度的线。类 setLineWidth(float width) 中有一个 PdfContentByte 方法可以更改它。但是,无论我通过什么值作为其参数,绘制的线条总是非常细。

javadoc的setLineWidth中有以下几行:



我不知道什么是“空间单位”。 iText中的其他所有内容似乎都以点(大约1/72英寸)为单位。我找不到任何有关这些“空间单位”以及如何更改它们的引用。

代码:

to.setLineWidth(thickness);
to.moveTo(x, y);
to.lineTo(x + 100, y + 100);

变量to包含PdfContentByte的实例。

最佳答案

解决了。 lineTo调用之后没有笔触方法调用。这就是为什么它在调用stoke方法之前使用了另一个线宽设置的原因。
正确的代码如下所示:

to.setLineWidth(thickness);
to.moveTo(x, y);
to.lineTo(x + 100, y + 100);
to.stroke();

10-04 11:21