2015-11-12 78 views
0

我正在創建一個繪圖程序,並且每個繪圖程序都有一個橡皮擦工具。因此,我希望我也有一個,唯一的問題是我不知道如何使用GraphicsContext清除Canvas中的圓形區域。是否有特殊的油漆或效果可以用來清除一個圓圈?我知道已有clearRect(x,y,w,h)方法,但我想要一個清晰的圓圈方法,以便我的橡皮擦可以有圓形筆刷。我到目前爲止的代碼是這樣的...JavaFX Canvas clear Circle

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

回答

0

你可以畫一個與背景顏色相同的圓。沿線的東西:

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

什麼是我的背景顏色是透明的?將圖形設置爲透明顏色將不起作用 – Jaboyc

0

畫布有一個像素寫入器。您可以使用它將相關像素顯式設置爲任何顏色。即使是透明的。