Ir al contenido principal

Degradado para Java Me

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:


// 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

Entradas más populares de este blog

Leyendo los datos del Form

Buenas, hoy continuaremos nuestro ejemplo: Trabajando con la Clase Form . Ahora le agregamos alguna funcionalidad a nuestro formulario y mostraremos como obtener los datos que el usuario ingrese. 1 - Primero crearemos un atributo de Tipo: Command private Command guardar; 2 - Creamos nuestro Comando guardar: guardar = new Command("Guardar", Command.OK, 0); La clase Command recibe por parámetros:  * Titulo : El nombre del comando  * Tipo: El tipo de Comando podrás elegir entre: Command.BACK Command.CANCEL Command.EXIT Command.HELP Command.ITEM Command.OK Command.SCREEN Command.STOP Según tu comando deberás elegir el que mas corresponda con la acción de tu comando. 3 - Ahora tendremos que agregar nuestro comando al formulario, pero primero deberemos implementar la interface de CommandListener a nuestro MIDlet para que pueda recibir los comandos que agreguemos: public class ClaseTresMidlet extends MIDlet implements CommandListener Al im...

Hola Mundo con Java ME

Buenas... Hoy un pequeño tutorial para comenzar con NetBeans y observar como crear nuestra primer aplicación con JAVA ME. 1 - Abrimos NetBeans 2 - Vamos a Archivo -> Proyecto Nuevo (Ctrl + Mayus + N) 3 - Creamos un Proyecto de Tipo: Java ME -> Mobile Application y hacemos clic en Siguiente. 4 - Aqui definimos el Nombre de nuestro Proyecto y la ubicacion. Proyect Name (Nombre del Proyecto). Y dejamos solo la  casilla seleccionada de Set as Main Project. * Set as Main Project: El proyecto se fija como Principal * Create Hello MIDlet: Seleccionando esta casilla nos creara automáticamente un Hola Mundo, pero esta clase tendrá muchos componentes que por el momento no es necesario que lo sepan, además de tener mucho código y ya asustarlos de una xD. Hacemos clic en Siguiente. 5 - En este paso podremos elegir el Emulador con que probaremos nuestra aplicación y las configuraciones de la Aplicacion. Es recomendable seleccionar CLDC-1.1 y MIDP-2.0 ya que son los estándares que soportan...

Hola Mundo en Canvas

Buenas, después de varios días sin actualizar, disculpen fueron días de parciales y no tuve mucho tiempo para poder escribirles... Hoy les mostrare como iniciar su proyecto a bajo nivel, la forma de crear todo por nosotros mismos. 1 - Primero creamos un proyecto, y creamos un MIDlet vació. 2 - Creamos una Nueva clase de java: public class CanvasHolaMundo { } 3 - Hacemos que nuestra clase herede (extends) de Canvas: public class CanvasHolaMundo extends Canvas { } Deberán importar la librería: "import javax.microedition.lcdui.Canvas;", como logran ver solo anteponiendo la palabra "extends" y el nombre de la clase ya se logra hacer una herencia. 4 - Al heredar de Canvas esta clase nos obliga a crear un método: public class CanvasHolaMundo extends Canvas {     protected void paint(Graphics g) {            } } Este método paint recibe el objeto Graphics que nos permiti...