-
Cómo cambiar el color de la imagen en los applets de Java
-
Java ofrece muchos programadores formas de manipular la entrada del usuario, ya que viene en la entrada de texto o gráfico. Esto se debe a que la estructura orientada a objetos de Java contiene muchos métodos para que pueda manejar diferentes tipos de entrada, y utilizar métodos para realizar tareas comunes. Por ejemplo, utilizando el objeto BufferedImage en un applet de Java, puede extraer información de color de una imagen, y comprobar cada píxel para ciertos colores, cambiando el color bajo ciertas circunstancias.
Instrucciones
1 Crear un objeto de imagen y almacenar una imagen, como sigue:
javax.imageio.ImageIO importación;
java.awt.image.BufferedImage importación;SwitchColors clase {
principales argumentos (String []) {public static void
BufferedImage foto = ImageIO.read (nuevo archivo ( "example.jpg"));
}
}2 Carga de un array con toda la información de color en el mismo, como sigue:
int [] rgb_data = new int [(picture.getWidth () * picture.getHeight ())];
rgb_data = picture.getRGB (0, 0, picture.getWidth (), picture.getHeight, rgb_data, 0, 0);3 Ejecutar a través de cada píxel y cambiar el color basado en un caso como sigue:
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);interruptor (args [0]) {// primer argumento principal de representarán un cambio de color
Caso 1: verde + = 8; rojo = + 16; azul + = 128; descanso;
Caso 2: verde + = 96; rojo = + 24; azul + = 64; descanso;
Caso 3: verde + = 160; rojo = + 32; azul + = 64; descanso;
Caso 4: verde + = 32; + rojo = 4; azul + = 16; descanso;
}rgbData [i] = (alfa & lt; & lt; 24) + (rojo & lt; & lt; 16) + (verde & lt; & lt; 8) + azul;