JAVA drawPolygon() - 参数说明

时间:2015-01-20 08:38:48

标签: java awt polygon

我目前正在研究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)

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

谢谢!

2 个答案:

答案 0 :(得分:2)

默认坐标系的原点位于画布的左上角,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 );

答案 1 :(得分:1)

坐标系的左上角是原点,y轴是向下增加的。

enter image description here

这就是为什么当增加 y -coordinate时,你会有一个向下的斜率。