JAVA drawPolygon() - 参数说明

JAVA drawPolygon() - Parameter Explanation

我目前正在研究 Java 中的 drawPolygon(int[] xPoints, int[] yPoints, int nPoints) 方法。 如果我没记错的话,前两个参数是数组,表示多边形的x坐标和y坐标。

我的问题是,如何从两个数组中解释多边形的坐标?

例如,我想在点 (100, 300)(200, 400) 之间画一条线。也就是说,一条线从左到右递增。 但是,如果我将这些值放入它们各自的数组中:

xPoints = {100, 200}; //x-coordinates 
yPoints = {300, 400}; //y-coordinates

我得到一条线从左到右递减。好像这些点被解释为 (100, 400)(200, 300).

因此,我的问题是:如何计算数组元素以构成多边形的点?

谢谢!

坐标系原点在top-left角,y-axis向下递增

这就是为什么当您 增加 y 坐标时会出现向下倾斜的原因。

默认坐标系原点在canvas的左上角,y值从屏幕顶部向下增加。如果您对此方向不满意,可以使用仿射变换。

这是一个 示例 (!) 来自我手头的一些代码 - 您可能需要根据自己的情况调整它:

// Polygon -> PathIterator -> Path2D, and then:
Path2D path = ...;
at.scale( 1, -1 );
path.transform( at );
bbox = path.getBounds2D();
at = new AffineTransform();
at.translate( -bbox.getMinX(), -bbox.getMinY() );
path.transform( at );