Java -Programmierer bietet viele Möglichkeiten, um Benutzereingaben zu manipulieren , ob diese Eingabe in Text-oder Bildform kommt . Dies liegt daran, Javas objektorientierte Struktur enthält viele Methoden, damit Sie verschiedene Arten von Input verarbeiten und nutzen Methoden, um gemeinsame Aufgaben zu erfüllen. Zum Beispiel mit dem BufferedImage Objekt in einem Java-Applet können Sie Farbinformationen aus einem Bild zu extrahieren, und prüfen Sie jedes Pixel für bestimmte Farben, die Farbe unter bestimmten Umständen. Was Sie brauchen
Java Development Kit ( JDK)
anzeigen Weitere Anweisungen
1
erstellen ein Image-Objekt und speichert ein Bild , wie folgt:
< p > Import javax.imageio.ImageIO , Import java.awt.image.BufferedImage ;
Klasse SwitchColors {
public static void main (String [] args ) {
BufferedImage Bild = ImageIO.read ( new File ( " example.jpg ")); }}
2
laden ein Array mit allen Farbinformationen in es wie folgt:
int [ ] = new int rgb_data [ ( picture.getWidth () * picture.getHeight ()) ] ; rgb_data = picture.getRGB ( 0, 0, picture.getWidth () , picture.getHeight , rgb_data , 0 , 0);
3
durch jedes Pixel Ausführen und ändern die Farbe auf einen Fall bezogen wie folgt:
for (int i = 0; i < rgb_data.length ; i + +) {int p = rgb_data [i] ; int alpha = ( pixel & 0xff000000 ) >> 24; int r = ( pixel & 0x00FF0000 ) >> 16; int g = ( pixel & 0x0000FF00 ) >> 8; int b = ( pixel & 0x000000FF );
Schalter ( args [0] ) {//erste Argument der wichtigsten wird eine Farbe Schaltschrankbau 1 darstellen : grün + = 8; rot + = 16; blau + = 128; break; case 2: grün + = 96; rot + = 24; blau + = 64; break; case 3: grün + = 160; rot + = 32; blau + = 64; break; case 4: grün + = 32; rot + = 4; blau + = 16; break;}
rgbData [i] = (alpha << 24) + (rot << ; 16) + (grün << 8) + blau;