Hola gente. Aquí les traigo una clase para puedan dibujar degradados en Java ME. Puedes descargarla haciendo clic aquí. Igual mas abajo les dejo el código.
Con esta clase podrán crear degradados en Canvas, la clase Degradado dispone de un método estático llamado pintar. que recibe como parámetros:
* Graphics g : El objeto que se necesita para dibujar
* int Color 1 : El color inicial del degradado
* int Color 2 : El color final del degradado
* int x : Punto desde donde comenzara el degradado
* int y : Punto desde donde comenzara el degradado
* int ancho : El total del ancho del degradado
* int alto : El Alto del degradado
* int orientación : La orientación del degradado, puede ser Degradado.HORIZONTAL o Degradado.VERTICAL
les dejo unos ejemplos:
Esta clase es muy útil si quieren darle un mejor aspecto a su aplicación o juego en Java ME. Esta clase ha sido obtenida de Forum Nokia. Yo solo la he traducido.
Código:
Saludos...
Maty!
Con esta clase podrán crear degradados en Canvas, la clase Degradado dispone de un método estático llamado pintar. que recibe como parámetros:
* Graphics g : El objeto que se necesita para dibujar
* int Color 1 : El color inicial del degradado
* int Color 2 : El color final del degradado
* int x : Punto desde donde comenzara el degradado
* int y : Punto desde donde comenzara el degradado
* int ancho : El total del ancho del degradado
* int alto : El Alto del degradado
* int orientación : La orientación del degradado, puede ser Degradado.HORIZONTAL o Degradado.VERTICAL
les dejo unos ejemplos:
// Ejemplo 1 - Toda la pantalla de Blanco a Negro
Degradado.pintar(g, 0xFFFFFF, 0x000000, 0, 0, getWidth(), getHeight(), Degradado.HORIZONTAL);
// Ejemplo 2 - Toda la pantalla de Rojo a Negro
Degradado.pintar(g, 0xFF0000, 0x000000, 0, 0, getWidth(), getHeight(), Degradado.VERTICAL);
// Ejemplo 3 - Un cuadrado de 100x100 de Verde a Azul
Degradado.pintar(g, 0x00FF00, 0x0000FF, 10, 10, 100, 100, Degradado.HORIZONTAL);
// Ejemplo 4 - Un cuadrado de 100x100 dibujado en la mitad de la pantalla
Degradado.pintar(g, 0x0000FF, 0xFFFFFF, getWidth()/2-50, getHeight()/2-50, 100, 100, Degradado.VERTICAL);
Esta clase es muy útil si quieren darle un mejor aspecto a su aplicación o juego en Java ME. Esta clase ha sido obtenida de Forum Nokia. Yo solo la he traducido.
Código:
import javax.microedition.lcdui.Graphics;
public class Degradado {
public static final int HORIZONTAL = 0;
public static final int VERTICAL = 1;
public static void pintar(Graphics g, int color1, int color2, int x, int y, int ancho, int alto, int orientacion){
int max;
if(orientacion == HORIZONTAL){
max = ancho;
}else{
max = alto;
}
for (int i = 0; i < max; i++) {
int color = midColor(color1, color2, max * (max - 1 - i) / (max - 1), max);
g.setColor(color);
if(orientacion == HORIZONTAL){
g.drawLine(x + i, y, x + i, y + alto - 1);
}else{
g.drawLine(x, y + i, x + ancho - 1, y + i);
}
}
}
protected static int midColor(int color1, int color2, int prop, int max) {
int red =
(((color1 >> 16) & 0xff) * prop
+ ((color2 >> 16) & 0xff) * (max - prop)) / max;
int green =
(((color1 >> 8) & 0xff) * prop
+ ((color2 >> 8) & 0xff) * (max - prop)) / max;
int blue =
(((color1 >> 0) & 0xff) * prop
+ ((color2 >> 0) & 0xff) * (max - prop)) / max;
int color = red << 16 | green << 8 | blue;
return color;
}
}
Saludos...
Maty!
Comentarios
Publicar un comentario