图像触摸选择区域

时间:2017-05-26 09:24:37

标签: android svg

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

例如;

  • 哪个区域代表有金的区域。 enter image description here 然后教师可以通过按下图片上的模式答案来选择正确的答案(B和E区) enter image description here

问题是

  1. 作为教师,如何通过触摸图像和存储到数据库中的值来进行模式回答
  2. 作为学生,学生如何按正确的答案
  3. 任何人都可以建议或帮助我?

    我是android的新手..

    谢谢!

1 个答案:

答案 0 :(得分:5)

你应该使用两个不同的图像。第一张图片是原始图片。第二个图像是“地图”图像。地图图像包含不同颜色的区域。必须使用无损压缩(即png)将“Map”图像保存到文件中。 原始图像显示在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 抱歉我的英文。