在Java Android中从图像获取坐标

时间:2013-02-01 16:03:12

标签: java android image bufferedimage pixels

我在Android项目中使用Java中的BufferedImage。在该项目中,允许用户选择图像的一小部分。

例如:如果您有带建筑物的公园的图像。用户可以对草进行小选择,并且android程序需要保存该选择的坐标。

我想知道BufferedImage中是否有支持这一功能的功能:让用户选择图像的一小部分(使用触摸屏)并从图像中的这些位置获取坐标。如果没有,我还能做什么?

1 个答案:

答案 0 :(得分:2)

您可以将点击的像素位置(x,y)(即光标位置)存储到 SQLite 数据库中,而不需要存储其周围的所有值。如果您想检查此像素周围的点击(具有公差值),以下代码将为您提供帮助:

    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