三角形绘制方法

20

我在Java中使用draw(Graphics g)方法绘制三角形遇到了问题。 我可以像这样绘制一个矩形:

public void draw(Graphics g) {
    g.setColor(colorFill);
    g.fillRect(p.x, p.y, width, height);
    g.setColor(colorBorder);
    g.drawRect(p.x, p.y, width, height);
    drawHandles(g);

“p”代表“形状的左上角”。我如何以同样的方式绘制三角形?

有人能给我一个标准三角形的例子吗?

6个回答

30

在 Graphics 和 Graphics2D 中都没有 drawTriangle 方法。你需要自己画。你可以使用 drawLine 方法绘制三条线,或者使用以下方法之一:

这些方法适用于多边形。当您想要填充由点集定义的多边形时,可以将前缀draw更改为fill。我插入了文档链接,请查看以了解如何使用它们。
还有GeneralPath类。它可以与Graphics2D一起使用,后者能够绘制Shapes。请看:

3

1
使用线性算法连接点A和点C,在一个外部循环中,让点A沿着相同的线性算法向点B漫游,并在漫游坐标上重复绘制该线条。您还可以包含一个增量z delta,该增量也会被迭代递增。对于线性算法,只需计算每个坐标的delta变化的两个或三个斜率,并将其中一个斜率设置为1,同时按比例改变另外两个斜率,使它们小于1。这对于在连接的网格粒子之间绘制闭合几何区域非常重要。查看Qt Elastic Nodes示例,现在想象在骨架上拉伸后在节点之间绘制三角形。只要它保持在线

0

没有直接绘制三角形的方法。 你可以使用drawPolygon()方法来完成。 它需要以下格式的三个参数: drawPolygon(int x[],int y[], int number_of_points); 要绘制一个三角形: (在数组x中指定x坐标,在数组y中指定y坐标,元素个数与这两个数组相同。例如在三角形中,你有3个x坐标和3个y坐标,总共有3个点。) 假设你想要使用以下点来绘制三角形:(100,50),(70,100),(130,100)public void paint(Graphics g)内执行以下操作:

int x[]={100,70,130};
int y[]={50,100,100};
g.drawPolygon(x,y,3);

同样地,您可以使用任意数量的点绘制任何形状。


0

没有直接绘制三角形的命令。要绘制三角形,我们必须在此处使用线条的概念。

即,g.drawLines(点的坐标)


-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接