我必须画一个图。我使用AWT库来做到这一点。
问题是,我需要画很细的线。
但是我总是会得到太粗的线。
在这里您可以看到我的意思。
这是绘制这些线条的代码
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);
最佳答案
代替
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。最好是坚持使用英文变量名,因为所有关键字也都是英文。
关于java - Line2D厚度(太厚),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11030775/