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