Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako zmeniť farebný obraz na Java applety

Java ponúka programátorom mnoho spôsobov , ako manipulovať vstup užívateľa , či tento vstup je v texte alebo obrázkovej forme . To je preto , že objektovo orientované štruktúry Java obsahuje mnoho metód , ktoré vám umožní zvládnuť rôzne typy vstupov a využitie metódy vykonávať bežné úlohy . Napríklad , s použitím BufferedImage objekt Java applet , môžete extrahovať farebné informácie z obrazu , a skontrolujte , či každý pixel na určité farby , mení farbu za určitých okolností . Veci , ktoré budete potrebovať
Java Development Kit ( JDK )
Zobraziť ďalšie inštrukcie Cestuj 1

Vytvorte objekt obrázku a uložiť obraz , takto :

import javax.imageio.ImageIO , import java.awt.image.BufferedImage , Spojené

triedy SwitchColors {

public static void main ( String [ ] args ) {

BufferedImage obrázok = ImageIO.read ( new File ( " Príklad.jpg " ) ) ; } }


2

Vložte rad všetky informácie o farbe v nej , a to takto : celým

int [ ] rgb_data = new int [ ( picture.getWidth ( ) * picture.getHeight ( ) ) ] ; rgb_data = picture.getRGB ( 0 , 0 , picture.getWidth ( ) , picture.getHeight , rgb_data , 0 , 0 ) ;
3

Beh cez každý pixel a zmeniť farbu na základe prípadu takto :

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 a 0x0000FF00 ) >> 8 , int b = ( pixel & 0x000000FF ) ;

prepínať ( args [ 0 ] ) { //prvý argument hlavné bude predstavovať farbu switchcase 1 : zelená + = 8 , červená + = 16 ; modrá + = 128 ; break ; case 2 : zelená + = 96 ; červený + = 24 ; modrá + = 64; break ; case 3 : zelená + = 160 ; red + = 32 ; modrá + = 64; break ; case 4 : zelená + = 32 ; červený + = 4 ; modrá + = 16 ; break ; }

rgbData [ i ] = ( alpha << 24 ) + ( červená << ; 16 ) + ( zelená << 8 ) + modrá ;

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené