▼MIDP2.0メモ▼
イメージを反転する


イメージを反転するプログラムを作成する。左右反転、上下反転、時計回りに0/90/180/270度回転も行っている。MIDPで使用できる画像フォーマットはPNGとJPEG。GIFが使えるかどうかは機種依存。W-ZERO3は特殊でPNGのみ(JPEGも表示できない)。



画像の準備

そらみ
-sorami.png
-48x48


プログラム
TransEx.java
import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

//イメージを反転する(本体)
public class TransEx extends MIDlet {
    static TransCanvas c;

    //コンストラクタ
    public TransEx() {
        c=new TransCanvas();
        Display.getDisplay(this).setCurrent(c);
    }

    //アプリの開始
    public void startApp() {
    }

    //アプリの一時停止
    public void pauseApp() {
    }

    //アプリの終了
    public void destroyApp(boolean flag) {
    }
}


TransCanvas.java
import javax.microedition.lcdui.game.*;
import javax.microedition.lcdui.*;

//イメージを反転する(キャンバス)
public class TransCanvas extends Canvas {
    Image image=null;//イメージ

    //コンストラクタ
    TransCanvas() {
        //画像ファイルの読み込み
        try {
            image=Image.createImage("/sorami.png");
        } catch (Exception e) {
            System.out.println(e.getClass().getName());
        }
    }

    //描画
    public void paint(Graphics g) {
        //画面の塗り潰し
        g.setColor(255,255,255);
        g.fillRect(0,0,getWidth(),getHeight());

        //イメージの描画
        g.drawImage(image,0,0,g.LEFT|g.TOP);

        //左右反転
        g.drawRegion(image,0,0,48,48,Sprite.TRANS_MIRROR,
            0,120,g.LEFT|g.TOP);

        //上下反転
        g.drawRegion(image,0,0,48,48,Sprite.TRANS_MIRROR_ROT180,
            60,120,g.LEFT|g.TOP);

        //回転なし
        g.drawRegion(image,0,0,48,48,Sprite.TRANS_NONE,
            0,180,g.LEFT|g.TOP);

        //時計回りに90度回転
        g.drawRegion(image,0,0,48,48,Sprite.TRANS_ROT90,
            60,180,g.LEFT|g.TOP);

        //時計回りに180度回転
        g.drawRegion(image,0,0,48,48,Sprite.TRANS_ROT180,
            120,180,g.LEFT|g.TOP);

        //時計回りに270度回転
        g.drawRegion(image,0,0,48,48,Sprite.TRANS_ROT270,
            180,180,g.LEFT|g.TOP);
    }
}


S!アプリ(3GC)のJADファイル
TransExEx.jad
MIDlet-1: TransEx, , TransEx
MIDlet-Jar-Size: 2229
MIDlet-Jar-URL: TransEx.jar
MIDlet-Name: ToneEx
MIDlet-Vendor: My Vendor
MIDlet-Version: 1.0
MicroEdition-Profile: MIDP-2.0
MicroEdition-Configuration: CLDC-1.1
MIDxlet-ScreenSize: 240,260



−戻る−