我刚接触JavaFX,现在正在尝试在画布上绘制一些东西。
首先,我将线条颜色设置为黑色并绘制了一条线。
canvas.getGraphicsContext2D().setStroke(Color.BLACK);
canvas.getGraphicsContext2D().strokeLine(20,20,100,100);
接下来我尝试通过绘制一条白线来擦除这条线:
canvas.getGraphicsContext2D().setStroke(Color.WHITE);
canvas.getGraphicsContext2D().strokeLine(20,20,100,100);
画布上可能会有一些灰色像素。这是什么原因,如何防止出现这种情况?
下面是我创建场景的方式:
Pane root = new Pane();
canvas = new Canvas(200, 200);
GraphicsContext gc = canvas.getGraphicsContext2D();
gc.strokeLine(20,20,100,100);
scene = new Scene(root, 200, 200);
this.setColor(Color.WHITE);
root.getChildren().add(canvas);
感谢,Martin。
Canvas
的背景颜色是否设置为白色? - SedJ601canvas.setStyle("-fx-background-color: white;");
和((Pane)scene.getRoot()).setBackground(new Background(new BackgroundFill(Color.WHITE, CornerRadii.EMPTY, Insets.EMPTY)));
。 - Ma Sch