Line2D厚度(太厚)

时间:2012-06-14 10:02:20

标签: java graphics 2d awt java-2d

我必须绘制一个图表。我使用AWT库来做到这一点。

问题是,我需要绘制非常细的线条。 但我总是得到太粗的线条。

在这里你可以看到,我的意思。

enter image description here

以下是绘制这些行的代码

BufferedImage image = new BufferedImage(300, 60, BufferedImage.TYPE_INT_ARGB);
Graphics g = image.createGraphics();
Graphics2D g2 = (Graphics2D) g;
g2.setColor(Color.BLACK);
g2.setStroke(new BasicStroke(0.001f,BasicStroke.CAP_BUTT, BasicStroke.JOIN_MITER));
Shape s = new Line2D.Double(new Point2D.Double(x_pos, unten - 9),
                            new Point2D.Double(x_pos, unten - 4));
g2.draw(s);

2 个答案:

答案 0 :(得分:0)

而不是

Shape s = new Line2D.Double(new Point2D.Double(x_pos, unten - 9),
                            new Point2D.Double(x_pos, unten - 4));
g2.draw(s);

尝试使用

g2.drawLine(x_pos, unten - 9, x_pos, unten - 4);

Shape的东西真的无法应对低于1的厚度......(据我所知)

请不要在编码时混用不同的语言,这会让我眼癌(即使是德语):P。最好的是,只要坚持使用英文变量名,因为所有关键字都是英文。

答案 1 :(得分:0)

尝试:

g2.setStroke(new BasicStroke(0.5f));

或其他任何适合您需要的值。