2010-05-03 25 views
5

Ich zeichne Bilder zu pdf mit Java Framework iText. Ich muss Linien der angegebenen Breite zeichnen. Es gibt eine Methode setLineWidth(float width) in Klasse PdfContentByte, die es ändern sollte. Aber egal, welchen Wert ich als Parameter übergebe, die gezeichneten Linien sind immer extra dünn.Wie ändere ich die Linienstärke in iText?

Es gibt folgende Zeile in der Javadoc- setLineWidth:

Die Linienbreite gibt die Dicke der einen Pfad zu Hub verwendet Linie und wird in Benutzerraum-Einheiten gemessen.

Ich weiß nicht, was "Raumeinheit" ist. Alles andere in iText scheint in Punkt (etwa 1/72 Zoll) gemessen zu werden. Ich kann keinen Hinweis darauf finden, was diese "Raumeinheiten" sind und wie sie geändert werden können.

Code:

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

Variable to enthält Instanz PdfContentByte.

Antwort

9

Gelöst. Nach dem Aufruf von lineTo gab es keinen Schlaganfall-Methodenaufruf. Deshalb verwendete es eine andere Linienbreite, die kurz vor dem Aufruf der Stoke-Methode gesetzt wurde. Korrekter Code wie folgt aussehen:

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