Canvasに画像を表示する

2時間も悩んだのにすげー単純なことだった…。でもこれは書いておかねば!


★MIDP2.0での対応画像はJPGPNGのようです。

  1. JPG,またはPNG画像を用意する。
  2. eclipseからMEXAプロジェクトを生成した場合は"res"フォルダが存在しないので、作る
  3. 作った"res"フォルダをはこのままではアーカイブ(jar)化されないので

    [Project]-[Properties]-[Java Build Path]-[Source] で
    『Add Folder』して、"res"フォルダを追加する


  4. アプリで使用したい画像・動画・音データはすべてこの"res"フォルダに格納します〜

  5. Canvasを継承したクラスで画像を読み込む

    import javax.microedition.lcdui.Canvas;
    import javax.microedition.lcdui.Graphics;
    import javax.microedition.lcdui.Image;
    
    public class TestCanvas extends Canvas {
      
      private Image backImage = null;
      
      public TestCanvas(IntegratorCore core) {
        try {
          // "/"をつけて画像名を指定して読み込む
          backImage = Image.createImage("/test.jpg");
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    
      protected void paint(Graphics g) {
        if (backImage != null) {
          // 画像の位置を指定して表示させる
          g.drawImage(backImage, 0, 0, Graphics.TOP | Graphics.LEFT);
        }
      }