Path 增加笔划大小时,弯曲路径2D变直

Path 增加笔划大小时,弯曲路径2D变直,path,java-2d,stroke,Path,Java 2d,Stroke,我对Java2D有一个奇怪的问题。我有一个想绘制的Path2D.Double,但根据笔划大小,所有线段都正确绘制(弯曲),但当笔划大小大于或等于0.00005d时,线段绘制为直线。如您所见,我正在更改的唯一参数是笔划大小。我做错了什么 BasicStroke basicStroke1 = new BasicStroke(.00004f, CAP_ROUND, JOIN_ROUND); g2draw.setStroke(basicStroke1); g2draw.draw(path); Basi

我对Java2D有一个奇怪的问题。我有一个想绘制的
Path2D.Double
,但根据笔划大小,所有线段都正确绘制(弯曲),但当笔划大小大于或等于0.00005d时,线段绘制为直线。如您所见,我正在更改的唯一参数是笔划大小。我做错了什么

BasicStroke basicStroke1 = new BasicStroke(.00004f, CAP_ROUND, JOIN_ROUND);
g2draw.setStroke(basicStroke1);
g2draw.draw(path);

BasicStroke basicStroke2 = new BasicStroke(.00006f, CAP_ROUND, JOIN_ROUND);
g2draw.setStroke(basicStroke2);
g2draw.draw(path);
下面是一张带有此代码结果的图片:


结果表明,在将用户坐标转换为屏幕坐标时,当刻度差很大(或不是很大…)时,错误似乎是舍入错误。这是Java2D的一种奇怪行为。切换到JavaFX后,问题消失了。

您正在尝试绘制什么样的
shape
?如果你也能提供你的
形状
代码就更好了