2017-05-26 101 views
4

我们正在开发用于教育的图像映射。 老师可以用图像添加问题。 模式答案基于老师选择的图片。图像触摸选择区

例如;

  • 哪个地区代表有金的地区。 enter image description here 后来老师可以通过按下架构答案在图片 enter image description here

的问题是

  1. 作为一名教师,选择正确答案(B和E区)如何做架构的答案与触摸图像和什么样的价值存储到数据库
  2. 作为一名学生,学生如何能按正确的答案

任何人都可以建议或帮助我?

我是机器人新手..

谢谢!

回答

5

你应该使用两个不同的图像。第一张图片是原始图片。第二个图像是“地图”图像。地图图像包含不同颜色的区域。必须将“地图”图像保存到无损压缩文件(即png)。 在ImageView中显示原始图像。 “地图”图像必须解码为位图。

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

Map image 对不起,我的英语水平。