你应该使用两个不同的图像.第一张图片是原始图片.第二个图像是"地图"图像.地图图像包含不同颜色的区域.必须使用无损压缩(即png)将"Map"图像保存到文件中.原始图像显示在ImageView中.必须将"Map"图像解码为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
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
454 次 |
| 最近记录: |