我在一个Android项目中使用Java的BufferedImage。在该项目中,允许用户选择图像的一小部分。
例如:如果您有一个带有建筑物的公园的图像。用户可以对草进行少量选择,而android程序需要保存该选择的坐标。
我想知道BufferedImage中是否有支持此功能的功能:让用户选择图像的一小部分(使用触摸屏)并从图像中的这些位置获取坐标。如果没有,我还能做什么?
最佳答案
您可以存储单击SQLite数据库的像素位置(x,y)(即光标位置),而无需存储周围的所有值。如果您要检查围绕此像素的点击(具有公差值),以下代码将为您提供帮助:
int[] xyReceivedPixel = { 15, 20 };
int[] xyOriginalPixel = { 30, 15 };
int toleranceValue = 30;
boolean status = (xyReceivedPixel[0] < xyOriginalPixel[0] + toleranceValue
|| xyReceivedPixel[0] > xyOriginalPixel[0] - toleranceValue)
&& (xyReceivedPixel[1] < xyOriginalPixel[1] + toleranceValue
|| xyReceivedPixel[1] > xyOriginalPixel[1] - toleranceValue);
System.out.println(status);
此处,
xyOriginalPixel
是存储在数据库中的原始像素点,而xyReceivedPixel
是进行另一次单击时获得的像素点或要与之进行比较的像素点。检查xyReceivedPixel
是否在xyOriginalPixel
附近,且差值最大为toleranceValue
。