Visualizar una imagen
Hola a todos, gracias por vuestro tiempo
GRACIAS POR VUESTRA AYUDA ES IMPORTANTE
EStoy descargando una imagen png a mi emulador movil en un byte[] fichero. La imagen que me descargo a este byte es de unos 70K y cuando digo de visualizarla me dice java.lang.NullPointerException
La cosa es que si descargo 25 K si lo hace. No se si es que sera demasiado tama帽o para la visualizacion
Alguien puede ayudarme: este es el codigo
import javax.microedition.lcdui.*;
public class Imagen extends Canvas implements CommandListener{
private MobileHome midlet;
private ImageItem imagen;
private Command atras,guardar;
private int x,y;
private Ticker tick;
private byte fichero[];
private Image im=null;
//CONSTRUCTOR
public Imagen(MobileHome midlet){
this.midlet=midlet;
atras=new Command("Atras",Command.BACK,1);
guardar=new Command("Guardar",Command.SCREEN,1);
tick=new Ticker("IMAGEN ACTUAL DEL SERVIDOR");
this.addCommand(atras);
this.addCommand(guardar);
this.setTicker(tick);
this.setCommandListener(this);
fichero=midlet.getFichero();//ya que el fichero esta declarado en MobileHome
System.out.println("EL fichero es"+fichero);
try{
im=Image.createImage(fichero,0,fichero.length);
}
catch(Exception e){
System.out.println("Error al cargar imagen: "+e);
}
x=(getWidth()/2);
y=(getHeight()/2);
}
public void paint(Graphics g){
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
g.drawImage(im,x,y,Graphics.VCENTER|Graphics.HCENTER);
}
protected void keyPressed(int keyCode){
switch(getGameAction(keyCode)){
case Canvas.DOWN:{if((y+20)<getHeight())y=y+1;
break;}
case Canvas.LEFT:{if(x>0)x=x-1;
break;}
case Canvas.UP: {if (y>0) y=y-1;
break;}
case Canvas.RIGHT:{if ((x+20)<getWidth())x=x+1;
break;}
}
this.repaint();
}
public void commandAction(Command c,Displayable d){
if(c==atras){
midlet.FormMenuPrincipal();
}
else if(c==guardar){
midlet.FormGuardarImag();
}
}//fin del metodo commandAction
}
Estoy utiliando el j2me wireless toolkit 2.2
GRACIAS POR VUESTRA AYUDA ES IMPORTANTE
GRACIAS POR VUESTRA AYUDA ES IMPORTANTE
EStoy descargando una imagen png a mi emulador movil en un byte[] fichero. La imagen que me descargo a este byte es de unos 70K y cuando digo de visualizarla me dice java.lang.NullPointerException
La cosa es que si descargo 25 K si lo hace. No se si es que sera demasiado tama帽o para la visualizacion
Alguien puede ayudarme: este es el codigo
import javax.microedition.lcdui.*;
public class Imagen extends Canvas implements CommandListener{
private MobileHome midlet;
private ImageItem imagen;
private Command atras,guardar;
private int x,y;
private Ticker tick;
private byte fichero[];
private Image im=null;
//CONSTRUCTOR
public Imagen(MobileHome midlet){
this.midlet=midlet;
atras=new Command("Atras",Command.BACK,1);
guardar=new Command("Guardar",Command.SCREEN,1);
tick=new Ticker("IMAGEN ACTUAL DEL SERVIDOR");
this.addCommand(atras);
this.addCommand(guardar);
this.setTicker(tick);
this.setCommandListener(this);
fichero=midlet.getFichero();//ya que el fichero esta declarado en MobileHome
System.out.println("EL fichero es"+fichero);
try{
im=Image.createImage(fichero,0,fichero.length);
}
catch(Exception e){
System.out.println("Error al cargar imagen: "+e);
}
x=(getWidth()/2);
y=(getHeight()/2);
}
public void paint(Graphics g){
g.setColor(255,255,255);
g.fillRect(0,0,getWidth(),getHeight());
g.setColor(0,0,0);
g.drawImage(im,x,y,Graphics.VCENTER|Graphics.HCENTER);
}
protected void keyPressed(int keyCode){
switch(getGameAction(keyCode)){
case Canvas.DOWN:{if((y+20)<getHeight())y=y+1;
break;}
case Canvas.LEFT:{if(x>0)x=x-1;
break;}
case Canvas.UP: {if (y>0) y=y-1;
break;}
case Canvas.RIGHT:{if ((x+20)<getWidth())x=x+1;
break;}
}
this.repaint();
}
public void commandAction(Command c,Displayable d){
if(c==atras){
midlet.FormMenuPrincipal();
}
else if(c==guardar){
midlet.FormGuardarImag();
}
}//fin del metodo commandAction
}
Estoy utiliando el j2me wireless toolkit 2.2
GRACIAS POR VUESTRA AYUDA ES IMPORTANTE
