我正在尝试绘制一个笔画为 1 像素的多边形。因为整个多边形缩放了 100,所以我将线宽设置为 0.01。但由于某种原因,多边形被绘制的屏幕线宽看起来是 100 像素,而不是 1。
我GeneralPath
用作多边形形状。Line2D
如果我使用相同的方法绘制形状,则确实会绘制细线。
g2d.scale(100, 100);
g2d.setStroke(new BasicStroke(0.01f));
g2d.draw(theShape);
新信息:如果我删除 setStroke 线,我会正确地得到一条 2 像素线,因为之前在 Graphics2D 对象上设置了 0.02f 的 BasicStroke。
这是真正的 setStroke 线
g.setStroke(new BasicStroke((float) (1f / getRoot().scaleX)));