我正在创建一个绘图程序,每个绘图程序都有一个橡皮擦工具。因此,我希望我有一个,唯一的问题是我不知道如何使用GraphicsContext清除Canvas中的圆形区域。我可以使用特殊的颜料或效果来清除圆圈吗?我知道已有clearRect(x,y,w,h)
方法,但我想要一个清晰的圆形方法,以便我的橡皮擦可以有一个圆形画笔。到目前为止,我的代码是......
canvas.setOnMouseClicked(e->{
if(brushType == ERASER){
//do something with graphics
}
}
答案 0 :(得分:0)
您可以绘制一个与背景颜色相同的圆圈。有点像:
canvas.setOnMouseClicked(e ->{
if(brushType == ERASER) {
context.setFill(backgroundColour);
context.fillOval(e.getX(), e.getY(), eraserWidth, eraserHeight);
}
}
答案 1 :(得分:0)
画布有一个像素编写器。您可以使用它将相关像素明确设置为任何颜色。即使是透明的。