Java tilbyr programmerere mange måter å manipulere brukerens input , enten det innspill kommer i tekst eller bilde skjemaet. Dette er fordi Java er objektorientert struktur inneholder mange metoder for å tillate deg å håndtere forskjellige typer input, og utnytte metoder for å utføre vanlige oppgaver . For eksempel ved hjelp av BufferedImage objekt i en Java- applet , kan du trekke ut farge informasjon fra et bilde , og sjekke hver piksel for visse farger , endre fargen under visse omstendigheter. Du trenger:
Java Development Kit ( JDK )
Vis flere instruksjoner
en
lage et bilde objekt og lagre et bilde , som følger : en < p > import javax.imageio.ImageIO , import java.awt.image.BufferedImage ;
klasse SwitchColors {
public static void main ( String [] args ) {
BufferedImage bilde = ImageIO.read (new File ( " Example.jpg "));
} }
2
Legg i et array med all fargeinformasjon i det, som følger:
int [ ] rgb_data = new int [( picture.getWidth ( ) * picture.getHeight ( ) ) ]; rgb_data = picture.getRGB ( 0 , 0 , picture.getWidth ( ) , picture.getHeight , rgb_data , 0 , 0 ) ;
3
Kjør gjennom hver piksel og endre fargen basert på en sak som følger : en
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 ) ;
bryteren ( args [ 0 ] ) { //første argument av hoved vil representere en farge switchcase 1 : grønn + = 8 , rød + = 16; blå + = 128 ; break ; case 2 : grønn + = 96; rød + = 24; blå + = 64; break ; case 3 : grønn + = 160; rød + = 32 ; blå + = 64; break ; case 4 : grønn + = 32 ; rød + = 4 , blå + = 16; break ;}
rgbData [ i] = (alfa << 24 ) + (rød << , 16 ) + (grønn << 8 ) + blå,