Java tilbyder programmører mange måder at manipulere brugerens input , uanset om input kommer i tekst eller billedform . Dette skyldes Javas objektorienteret struktur indeholder mange metoder til at give dig mulighed for at håndtere forskellige typer af input og anvende metoder til at udføre almindelige opgaver . For eksempel ved hjælp af BufferedImage objekt i en Java-applet kan du udtrække farve information fra et billede og kontrollere hver enkelt pixel for bestemte farver , ændre farve under visse omstændigheder. Ting du har brug
Java Development Kit ( JDK )
Vis Flere Instruktioner
1
skabe et billede objekt og gemme et billede , som følger : Hej
import javax.imageio.ImageIO , import java.awt.image.BufferedImage ,
klasse SwitchColors {
public static void vigtigste ( String [] args ) {
BufferedImage billede = ImageIO.read (ny File ( " example.jpg "));
}}
2
Load et array med alle de farver i den, som følger: nær
int [ ] rgb_data = new int [ ( picture.getWidth ( ) * picture.getHeight () )], rgb_data = picture.getRGB ( 0 , 0 , picture.getWidth ( ) , picture.getHeight , rgb_data , 0, 0 ),
3
Løb gennem hver pixel og ændre farven baseret på en case som følger : Hej
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 )
kontakten ( args [0] ) {//første argument main vil repræsentere en farve switchcase 1: grøn + = 8 , rød + = 16 , blå + = 128, og break; case 2 : green + = 96 , rød + = 24 , blå + = 64; break; tilfælde 3 : green + = 160; rød + = 32 , blå + = 64; break; sag 4: grøn + = 32, rød + = 4 , blå + = 16, break; }
rgbData [i] = ( alpha << 24) + (rød << ; 16) + (grøn << 8 ) + blå ,