Wie bekomme ich Pixel-Farbe in Android?

Ich bin mit Absicht zu rufen und ein Bild aus der Galerie zu zeigen, und jetzt habe ich es ermöglicht, mir die Koordinaten des Bildes in einem TextView mit diesen:

final TextView textView = (TextView)findViewById(R.id.textView); final TextView textViewCol = (TextView)findViewById(R.id.textViewColor); targetImage.setOnTouchListener(new ImageView.OnTouchListener(){ @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub int x=0; int y=0; textView.setText("Touch coordinates : " + String.valueOf(event.getX()) + "x" + String.valueOf(event.getY())); ImageView imageView = ((ImageView)v); Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap(); int pixel = bitmap.getPixel(x,y); int redValue = Color.red(pixel); int blueValue = Color.blue(pixel); int greenValue = Color.green(pixel); if(pixel == Color.RED){ textViewCol.setText("It is RED"); } /*if(redValue == 255){ if(blueValue == 0) if(greenValue==0) textViewCol.setText("It is Red"); }*/ return true; } }); 

Nun, was ich tun muss, ist; Um die colour (RGB value) der genauen Koordinaten zu erhalten, die der Benutzer auswählt und später jeweils auf #FF0000 , #00FF00 und #0000FF aber jetzt bitte helfen, die #0000FF auf das zu bekommen, was ich habe.

  • Sortieransicht mit Arrayadapter sortieren
  • Wie kann man die Deckkraft der Form einstellen?
  • Adb hört auf, mein Telefon nach einer Weile zu erkennen
  • Wie kann ich den Titel und das Icon komplett in der Actionbar sherlock entfernen?
  • OpenGL ES 2.0 Erweiterungen auf Android Devices
  • Programmgesteuertes Einfügen neuer Android-Kontakte in das Telefon
  • Prost.

  • OKhttp PUT Beispiel
  • Schreiben von Audio auf Server über TCP-Socket
  • Erstellen eines Strikethrough-Textes in Android?
  • Wie man einzelne checkableBehavior Modus im Schubladenmenü für NavigationView hält, wenn wir Abschnitt hinzufügen?
  • Nexus 7 und Kindle Fire HD, denke anders
  • Padding funktioniert nicht auf ImageButton
  • 2 Solutions collect form web for “Wie bekomme ich Pixel-Farbe in Android?”

    Sie können das Pixel aus der Ansicht wie folgt:

     ImageView imageView = ((ImageView)v); Bitmap bitmap = ((BitmapDrawable)imageView.getDrawable()).getBitmap(); int pixel = bitmap.getPixel(x,y); 

    Jetzt können Sie jeden Kanal mit:

     int redValue = Color.red(pixel); int blueValue = Color.blue(pixel); int greenValue = Color.green(pixel); 

    Die Farbfunktionen geben den Wert in jedem Kanal zurück. Also alles, was du tun musst, ist zu überprüfen, ob Rot 255 ist und grün und blau 0 sind, als den textView Text auf "es ist rot" setzen. Achten Sie nur darauf, dass etwas rot ist, ist nicht einfach, dass der rote Kanal größer als Null ist. 'Cos 255-Green und 255-Red ist natürlich gelb. Sie können auch einfach das Pixel mit einer anderen Farbe vergleichen. beispielsweise:

     if(pixel == Color.MAGENTA){ textView.setText("It is Magenta"); } 

    Ich hoffe es hilft.

    Sie können dies für Ihre Anforderung ändern. Dieses Snippet hilft Ihnen, die Pixelfarbe zu bekommen.

     public static int getDominantColor(Bitmap bitmap) { Bitmap newBitmap = Bitmap.createScaledBitmap(bitmap, 1, 1, true); final int color = newBitmap.getPixel(0, 0); newBitmap.recycle(); return color; } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.