2

我在一个 Android 项目中使用来自 Java 的 BufferedImage。在这个项目中,用户可以选择图像的一小部分。

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

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

4

1 回答 1

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检查它是否在附近。xyOriginalPixeltoleranceValue

于 2013-02-01T17:56:30.890 回答