2013-02-17 5 views

Antwort

30

versuchen Sie dies:

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

     //then do what you want with the pixel data, e.g 
     int redValue = Color.red(pixel); 
     int blueValue = Color.blue(pixel); 
     int greenValue = Color.green(pixel);   
     return false; 
     } 
    }); 
+0

Dank, es funktionierte –

+3

das Bild Beware kann skaliert werden. Lösung: http://stackoverflow.com/questions/12496339/android-imageview-get-pixel-color-from-scaled-image – BornToCode

+0

http://android-er.blogspot.in/2012/10/get-touched- pixel-color-of-scaled.html – Mahalakshmi

3

können Sie berechnen die Bildkoordinaten des Pixels, auf den geklickt wurde, und lesen Sie die Pixel aus den Bilddaten, wie

Bitmap.getPixel(xcord,ycord) 
+0

Ich brauche den Pixel, wenn ich mein Bild skaliert habe. Ich habe jede Lösung ausprobiert, aber dafür nur eine weiße Farbe bekommen –

Verwandte Themen