在Android中获取单击的图像区域

时间:2017-04-05 12:28:39

标签: java android image android-studio imageview

我正在开发一个测验应用程序,并使其适用于将在我的TextView中显示的常规问题。此外,我需要向用户显示一个图像(可能找到两个图像之间的差异或找到隐藏在图像中的字母),为此,用户必须单击图像的某个区域。

如何获得用户点击图片的位置。

2 个答案:

答案 0 :(得分:1)

bool imagesAreEqual(Image i1, Image i2)
{
    if (i1.getHeight() != i2.getHeight()) return false;
    if (i1.getWidth() != i2.getWidth()) return false;

    for (int y = 0; y < i1.getHeight(); ++y)
       for (int x = 0; x < i1.getWidth(); ++x)
            if (i1.getPixel(x, y) != i2.getPixel(x, y)) return false;

    return true;
}

它比较每个像素并返回一个布尔值,无论它们是否相等。

参考以下主题, compare two images in android

答案 1 :(得分:0)

你可以尝试类似的东西,

获取用户点击的位置

imageView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_DOWN){
                Log.e("Touch coordinates : " + String.valueOf(event.getX()) + "x" + String.valueOf(event.getY()));
            }
            return true;
        }
});

您可以点击此链接查看图片之间的差异(COLOR和PIXEL) https://rosettacode.org/wiki/Percentage_difference_between_images  和  compare two images in android