2
我有一個簡單的繪畫程序,並試圖將屏幕上的內容轉換爲2d數組。在java swing中的mouseDragged方法中,您可以獲取拖動鼠標的點,但不會在足夠的時間取樣位置以獲取您繪製的所有點。從java中缺少的鼠標填充數據
public void mouseDragged(MouseEvent me) {
p.lineTo(me.getX(), me.getY());
x=me.getX();
y=me.getY();
lines[me.getX()][me.getY()]=1;
repaint();
}
在這裏我有二維數組線,其中每個空像素爲0,每個彩色像素爲1。問題是,當我打印數組時,我發現鼠標偵聽器沒有看到我在畫布上繪製的所有點。它跳過了一些要點。所以我的問題是如何連接這些缺少的點出現在屏幕上,但不是在陣列上。
例如,程序將打印,
- {0,0,0,0,1,1,1,0,1,1,0,0,0}
- {0 ,0,0,0,0,0,0,0,0,0,0,1,1}
我在問的是,如果有一個很好的算法來填充零應該是
我有一個高度編輯的代碼版本http://wphooper.com/java/tutorial/source/Graphics/html/simplermouseinteraction/Drawing.php
你可以使用線性插值(https://en.wikipedia.org/wiki/Linear_interpolation)來填補點。如果漏點比例不太高,用戶甚至不會注意。 – Paul