JAVA drawPolygon() - 参数说明

标签 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)

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

谢谢!

最佳答案

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

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

// 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 );

关于JAVA drawPolygon() - 参数说明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28040846/

相关文章:

c++ - 使用 CGAL::Constrained_Delaunay_triangulation_2 三角化多边形

java - 启动相机 android 权限时崩溃

java - 分离饼图的各个部分

java - 导致被零除的 PDF 渲染器

javascript - 使用坐标中的多边形创建静态谷歌地图图像

python - 从多边形到 geopandas 中的点的距离

java - 如何为简单的学校应用程序设计对象

java - 扩展对象与实现接口(interface)

java - Groovy Xml 解析器忽略 CDATA CRCL

java - 如何将AWT字体转换为SWT字体? SWT 不完整 : impossible to use font name from file