Hoi allemaal,
Ben nou al een tijdje bezig om een BufferedImage met text erin netjes te printen. Maar de uitvoer op papier ziet er slecht uit. Text is amper leesbaar (Font arial size 10).
Het text tekenen op de Image gaat als volgt (stukje van de code). Graphics2D g is graphics van een BufferedImage. De BufferedImage wordt geprint.
Ik gebruik drawString van Graphics niet omdat ik graag een shape van de text wil hebben om het te roteren en moven voor de text te tekenen (deze code is weggelaten). Oh ja ik gebruik jdk1.3.1
Ben nou al een tijdje bezig om een BufferedImage met text erin netjes te printen. Maar de uitvoer op papier ziet er slecht uit. Text is amper leesbaar (Font arial size 10).
Het text tekenen op de Image gaat als volgt (stukje van de code). Graphics2D g is graphics van een BufferedImage. De BufferedImage wordt geprint.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| public static Font PRINT_TEXT_FONT = new Font("Arial",Font.PLAIN,10);
public void drawForPrinting(Graphics2D g,int beginPos,double scaleFactor,int bovenDorpelDikte,int onderDorpelDikte,int linkerStijlDikte,int rechterStijlDikte)
{
//set properties op graphics: als ik anti alias aan zet
//word het vlekkerig
g.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_OFF);
g.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING,RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
g.setStroke(new BasicStroke(0.0f,BasicStroke.CAP_SQUARE,BasicStroke.JOIN_MITER));
g.setColor(Color.black);
//maak linkerStijl text shape
java.awt.font.TextLayout tl = new java.awt.font.TextLayout(""+linkerStijlDikte, PRINT_TEXT_FONT, g.getFontRenderContext());
Shape text_shape = tl.getOutline(null);
//teken text shape
//g.fill(text_shape);
g.draw(text_shape);
} |
Ik gebruik drawString van Graphics niet omdat ik graag een shape van de text wil hebben om het te roteren en moven voor de text te tekenen (deze code is weggelaten). Oh ja ik gebruik jdk1.3.1
)