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;
}