Skip to content
7 Maret 2012 / Jeffrey Hermanto Halimsetiawan

Menggambar Image dengan Fungsi Transformasi pada J2ME


Pada Java SE, transformasi image dapat dengan mudah dilakukan dengan menggunakan kelas AffineTransform untuk melakukan berbagai macam fungsi transformasi seperti translate, scale, rotate, dan sebagainya. Sebagai contoh:

public void paint(Graphics g) {
    AffineTransform t = new AffineTransform();
    t.scale(2,1);
    t.translate(15,5);
    Graphics2D g2d = (Graphics2D)g;
    g2d.setTransform(t);
}

Berbeda dengan Java SE, kelas Graphics pada Java ME tidak mendukung method setTransform() sehingga AffineTransform pun tidak dapat digunakan. Namun, Java ME masih menyediakan cara untuk menggambar image dengan beberapa fungsi transformasi sederhana dengan menggunakan method drawRegion(), sebagai contoh:

public void draw(Graphics g) {
    try {
        Image img = (Image) Image.createImage("/AksaraStudio.png");
        int x = 10;
        int y = 5;
        int transformation = Sprite.TRANS_ROT180;
        g.drawRegion(img, 0, 0, img.getWidth(), img.getHeight(), transformation,
                          x, y, Graphics.TOP | Graphics.LEFT);
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}

Beberapa jenis transformasi yang dapat dilakukan dengan mengubah nilai variabel transformation antara lain:

    • Sprite.TRANS_NONE
    • Sprite.TRANS_ROT90
    • Sprite.TRANS_ROT180
    • Sprite.TRANS_ROT270
    • Sprite.TRANS_MIRROR
    • Sprite.TRANS_MIRROR_ROT90
    • Sprite.TRANS_MIRROR_ROT180
    • Sprite.TRANS_MIRROR_ROT270

Selamat mencoba!

  1. djiesoft / Mei 8 2012 12:51

    saya ingin belajar java tapi susah mulainya dari mana… hehehe.. terimakasih ya artikelnya..

    • Jeffrey Hermanto Halimsetiawan / Jul 2 2012 21:01

      sama-sama, semoga bermanfaat🙂

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: