Я рисую изображения к PDF с помощью платформы Java iText. Я должен провести линии указанной ширины. Существует метод 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 не было вызова метода stroke. Вот почему он использовал другую ширину линии, установленную непосредственно перед вызовом метода stoke. Правильный код выглядит следующим образом:
to.setLineWidth(thickness);
to.moveTo(x, y);
to.lineTo(x + 100, y + 100);
to.stroke();