/* iアプリ, MIDP の Canvas への Image の貼り方 Time-stamp: "2007-10-25 Thu 21:45 JST hig" Saburo Higuchi 2003-2007 http://www.a.math.ryukoku.ac.jp/~hig/ プログラム解説等 http://www.a.math.ryukoku.ac.jp/~hig/course/juniors_2007/04/ */ import javax.microedition.midlet.*; import javax.microedition.lcdui.*; /** gif/jpg/png を Canvas に貼るサンプル */ public class ImageSample extends MIDlet { /** 起動するときに呼ばれる メソッド. 必須. */ public void startApp(){ ImageCanvas cc = new ImageCanvas(this); Display.getDisplay(this).setCurrent(cc); } public void pauseApp(){} public void destroyApp(boolean unconditional){} } class ImageCanvas extends Canvas { ImageSample parent; private Image im[]; String status; int x[],y[]; String imagefiles[]={"pose0.png","pose1.png"}; /** コンストラクタ. 最初に1回だけ実行される */ ImageCanvas(ImageSample m){ this.parent=m; x=new int[imagefiles.length]; y=new int[imagefiles.length]; for(int i=0; i< imagefiles.length; i++){ x[i]=0;y[i]=0; } x[0]=getWidth()/3; y[0]=getHeight()/4; x[1]=getWidth()*2/3; y[1]=getHeight()/4; im=new Image[imagefiles.length]; try{ for(int i=0; i< imagefiles.length; i++){ im[i]=Image.createImage("/" + imagefiles[i]); } status="gif 読み込み成功"; } catch (Exception e){ //"gif を読み込むことに失敗" status="gif 読み込み失敗"; } } public void paint(Graphics g){ // 特定の座標に, im[0] または im[0] を貼る. g.setColor(255,255,255); g.fillRect(0,0,getWidth(),getHeight()); // 画面を消す for(int i=0; i < imagefiles.length; i++){ g.drawImage(im[i],x[i],y[i] ,Graphics.LEFT|Graphics.BOTTOM); // 絵を貼る } g.drawString(status,0,getHeight()/2 ,Graphics.LEFT|Graphics.BOTTOM); } } /* Local Variables: mode: java End: */