您应该使用两种不同的图像。第一张是原始图片。第二张是“地图”图片。地图图片包含不同颜色区域。 “地图”图片必须以无损压缩方式保存到文件中(即png格式)。 原始图片在ImageView中显示。“地图”图片必须解码为Bitmap。
final ImageView imageView = ...; //TODO: bind imageView
imageView.setImageResource(R.drawable.original_image);
final Bitmap map = ...; //TODO: load map bitmap
imageView.setOnTouchListener((v, event) -> {
final int x = event.getX();
final int y = event.getY();
final float scale = ...//TODO calc image scale;
final int realX = (int) (x * scale);
final int realY = (int) (y * scale);
final int color = map.getPixel(realX, realY);
if (color == Color.RED) {
//Correct answer!
} else {
//something else
}
});