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.

  • Finden und Android NSD-Service von einem Nicht-Android-Gerät
  • NoClassDefFoundError mit Bibliotheken in Android Studio
  • Android: Passdaten (Extras) zu einem Fragment übergeben
  • Fragment.newInstance () vc onSaveInstanceState ()
  • Android: Festlegen der Zoom-Ebene in Google Maps, um alle Marker-Punkte einzuschließen
  • ConstraintLayout Benachrichtigungsabzeichen
  • Prost.

  • So blockieren Sie ausgehende Anrufe und SMS
  • Wie kann ich Android-M Preview Emulator erstellen?
  • Wie finde ich die Breite der Ansicht, bevor die Ansicht angezeigt wird?
  • Android - Neuer Kalenderstil DatePicker und TimePicker
  • Hat eine GCM-App wirklich ein Wakelock?
  • Unstabile Gesichtserkennung mit OpenCV
  • 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.