/* 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 com.nttdocomo.ui.*; /** gif/jpg/png を Canvas に貼るサンプル */ public class ImageSample extends IApplication { /** 起動するときに呼ばれる メソッド. 必須. */ public void start(){ ImageCanvas cc=new ImageCanvas(this); Display.setCurrent(cc); } } class ImageCanvas extends Canvas { ImageSample parent; private Image im[]; String status; int x[],y[]; String imagefiles[]={"pose0.gif","pose1.gif"}; /** コンストラクタ. 最初に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]; MediaImage mi[]; mi=new MediaImage[imagefiles.length]; for(int i=0; i< imagefiles.length; i++){ mi[i]=MediaManager.getImage("resource:///" + imagefiles[i]); // アプリのダウンロード後に Web サーバからイメージをダウンロード // ADF 設定で UseNetwork: http // mi[i]=MediaManager.getImage("http://somehost/somepath/" + imagefiles[i]); } try{ for(int i=0; i< imagefiles.length; i++){ mi[i].use(); im[i]=mi[i].getImage(); } status="gif 読み込み成功"; } catch (Exception e){ //"gif を読み込むことに失敗" status="gif 読み込み失敗"; } } public void paint(Graphics g){ // 特定の座標に, im[0] または im[0] を貼る. g.setColor(Graphics.getColorOfName(Graphics.WHITE)); g.fillRect(0,0,getWidth(),getHeight()); // 画面を消す for(int i=0; i < imagefiles.length; i++){ g.drawImage(im[i],x[i],y[i] +0); // 絵を貼る } g.drawString(status,0,getHeight()/2 +0); } } /* Local Variables: mode: java End: */