Java 在Android中获取图像的点击区域

Java 在Android中获取图像的点击区域,java,android,image,android-studio,imageview,Java,Android,Image,Android Studio,Imageview,我正在开发一个测验应用程序,并已使其适用于将在我的文本视图中显示的普通问题。此外,我需要向用户显示一个图像(可能会找到两个图像之间的差异或找到图像中隐藏的字母),为此,用户必须单击图像的某个区域 如何获取用户单击图像的点。您可以尝试以下操作: 获取用户单击的位置 imageView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, Mot

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


如何获取用户单击图像的点。

您可以尝试以下操作:

获取用户单击的位置

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;
        }
});
您可以按照此链接检查图像之间的差异(颜色和像素)
bool imagesAreEqual(图i1、图i2)
{
如果(i1.getHeight()!=i2.getHeight())返回false;
如果(i1.getWidth()!=i2.getWidth())返回false;
对于(int y=0;y
它比较每个像素并返回一个布尔值,无论它们是否相等

参考下面的线程,

对于不同的屏幕大小,它是否也会返回相同的值?它会根据屏幕大小而变化,但根据他的要求,他需要将单击的区域与默认图像中的通知区域(答案)进行比较。因此,如果不同屏幕大小的值发生变化,他将如何比较?这与HTML中的图像映射有关吗?可能无法比较不同的图像,但可以得到图像的x、y坐标。这是我在论坛中遇到的最大问题之一!仍然急切地等待着答案!您的问题可以从这条线索中得到回答,
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;
}