JavaFX Canvas clear Circle

时间:2015-11-12 03:51:24

标签: java canvas javafx paint

我正在创建一个绘图程序,每个绘图程序都有一个橡皮擦工具。因此,我希望我有一个,唯一的问题是我不知道如何使用GraphicsContext清除Canvas中的圆形区域。我可以使用特殊的颜料或效果来清除圆圈吗?我知道已有clearRect(x,y,w,h)方法,但我想要一个清晰的圆形方法,以便我的橡皮擦可以有一个圆形画笔。到目前为止,我的代码是......

canvas.setOnMouseClicked(e->{
    if(brushType == ERASER){
        //do something with graphics
    }
}

2 个答案:

答案 0 :(得分:0)

您可以绘制一个与背景颜色相同的圆圈。有点像:

canvas.setOnMouseClicked(e ->{
  if(brushType == ERASER) {
    context.setFill(backgroundColour);
    context.fillOval(e.getX(), e.getY(), eraserWidth, eraserHeight);
  }
}

答案 1 :(得分:0)

画布有一个像素编写器。您可以使用它将相关像素明确设置为任何颜色。即使是透明的。