基本形状

GraphicsContext 提供了一组绘制和填充几何形状的方法。通常,这些方法需要将坐标作为其参数直接或以 double 值的数组的形式传递。坐标始终相对于 Canvas,其原点位于左上角。

注意: GraphicsContext 不会在 Canvas 边界之外绘制,即试图在由其大小定义的 Canvas 区域之外绘制并且之后调整大小将不会产生任何结果。

下面的示例显示了如何绘制三个用黑色笔划勾勒出的半透明填充几何形状。

Canvas canvas = new Canvas(185, 70);
GraphicsContext gc = canvas.getGraphicsContext2D();

// Set stroke color, width, and global transparency
gc.setStroke(Color.BLACK);   
gc.setLineWidth(2d);
gc.setGlobalAlpha(0.5d);

// Draw a square
gc.setFill(Color.RED);
gc.fillRect(10, 10, 50, 50);
gc.strokeRect(10, 10, 50, 50);

// Draw a triangle
gc.setFill(Color.GREEN);
gc.fillPolygon(new double[]{70, 95, 120}, new double[]{60, 10, 60}, 3);
gc.strokePolygon(new double[]{70, 95, 120}, new double[]{60, 10, 60}, 3);

// Draw a circle
gc.setFill(Color.BLUE);
gc.fillOval(130, 10, 50, 50);
gc.strokeOval(130, 10, 50, 50);

StackOverflow 文档