检测区域点击图像时出现问题。
我有以下图片:
https://i.stack.imgur.com/fZmq0.jpg
https://i.stack.imgur.com/sb6Va.jpg
https://i.stack.imgur.com/YMwpy.jpg
触摸黄色区域时如何检测?
答案 0 :(得分:0)
这很容易。你不需要切片。
你要做的就是
看起来黄色不仅仅是一种黄色。所以,你可以做的是有一系列的黄色,并比较所有可能的黄色。
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
float x = event.getX();
float y = event.getY();
if(getColourOfThePixel(x, y)){
// DO SOMETHING
}
}
return super.onTouchEvent(event);
}
public boolean getColourOfThePixel(float x, float y){
int colorXY = mBitmap.getPixel(rangeX, rangeY);
int r = Color.red(colorXY);
int g = Color.green(colorXY);
int b = Color.blue(colorXY);
if (isYellow(r, g, b)) {
return true;
}
return false;
}
public boolean isYellow(int r, int g, int b){
// CHECK THE RANGE OF YELLOW COLOUR
}
为了确保,你最好有+ -x,y范围(比如一个正方形,可能是+20像素),因为有时只检查一个像素可能不起作用。因此,如果方块有黄色,那么你想要实现的事件就可以解决了。
我希望这有用。