Java erbjuder programmerare många sätt att manipulera användarens input , oavsett om den ingången kommer i text eller bild . Detta beror på Javas objektorienterade struktur innehåller många metoder så att du kan hantera olika typer av indata , och använda metoder för att utföra vanliga uppgifter . Till exempel använder BufferedImage objektet i en Java- applet , kan du extrahera färg från en bild , och kontrollera varje pixel för vissa färger , ändra färg under vissa omständigheter . Saker du behöver: Review, Java Development Kit ( JDK )
Visa fler instruktioner
1
Skapa ett bildobjekt och lagra en bild , enligt följande :
import javax.imageio.ImageIO , import java.awt.image.BufferedImage ;
klass SwitchColors {
public void main ( String [] args ) {
BufferedImage bilden = ImageIO.read ( new File ( " example.jpg " ) ) ;
} }
2
Load en array med all färginformation i den , enligt följande :
int [ ] rgb_data = new int [( picture.getWidth () * picture.getHeight ( ) )]; rgb_data = picture.getRGB ( 0 , 0 , picture.getWidth ( ) , picture.getHeight , rgb_data , 0 , 0 ) ;
3
Kör igenom varje pixel och ändra färg baserad på ett fall enligt följande :
for (int i = 0 ; i < rgb_data.length , i + + ) { int p = rgb_data [ i] ; int alfa = ( pixel & 0xff000000 ) >> 24 ; int r = ( pixel & 0x00ff0000 ) >> 16 ; int g = ( pixel & 0x0000ff00 ) >> 8 , int b = ( pixel & 0x000000ff ) ,
switch ( args [ 0 ] ) { //första argument huvud kommer att representera en färg switchcase 1 : grön + = 8 , röd + = 16 ; blå + = 128 ; break; case 2 : grön + = 96 ; röd + = 24 ; blå + = 64 ; break; case 3 : grön + = 160 ; röd + = 32 ; blå + = 64 , break; case 4 : grön + = 32 ; röd + = 4 ; blå + = 16 ; break ; }
rgbData [ i] = ( alfa << 24 ) + ( röd << , 16 ) + ( grön << 8 ) + blått; Addera