Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在onTouch(Android)上获取颜色(像素)信息_Java_Android - Fatal编程技术网

Java 在onTouch(Android)上获取颜色(像素)信息

Java 在onTouch(Android)上获取颜色(像素)信息,java,android,Java,Android,有没有办法获取像素的颜色,比如(x,y)并检查其是否为红色,如果为红色,则发送触摸事件 我希望它在后台运行,并且它应该始终检查该像素的颜色(x,y),一旦它变为红色,就应该模拟触摸事件。您可以从以下示例中获得值 final Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap(); imageView.setOnTouchListener(new OnTouchListener(){ @Overri

有没有办法获取像素的颜色,比如(x,y)并检查其是否为红色,如果为红色,则发送触摸事件


我希望它在后台运行,并且它应该始终检查该像素的颜色(x,y),一旦它变为红色,就应该模拟触摸事件。

您可以从以下示例中获得值

final Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap();
imageView.setOnTouchListener(new OnTouchListener(){
        @Override
        public boolean onTouch(View v, MotionEvent event){
            int x = (int)event.getX();
            int y = (int)event.getY();
            int pixel = bitmap.getPixel(x,y);


            int red = Color.red(pixel);
            int blue = Color.blue(pixel);
            int green = Color.green(pixel);        
            return false;
        }
   });

请注意,ImageView的宽度和高度必须是wrap_content。@Murtaza我想你搞错了。我不想在onTouch上得到像素的颜色,我想要的是检查一个特定的像素,当它的颜色改变时,应该模拟一个触摸事件。这里有一个简单的逻辑。您可以使用r、g和b颜色代码记录x和y位置,并与时间间隔上的值进行比较,时间间隔可以通过多种方式实现,如AlarmManager和TimerTask