Skip to content Skip to sidebar Skip to footer

Widget Atas Posting

Cara Membuat Transparency and Clipping Menggunakan Java Netbeans Universitas Pamulang

Komputer Grafik adalah salah satu mata kuliah di Universitas Pamulang Viktor. Saya saat belajar komputer grafik dinahkodai oleh Bu Ines, dan alhamdulilah tugasnya gampang-gampang termasuk Uts dan Uasnya dan alhamdulilah nya lagi di akhir semester mendapatkan nilai A.



Packages

Kelas-kelas utama pada Java 2D diorganisir dalam packages berikut yaitu :
  • java.awt
  • java.awt.geom
  • java.awt.font
  • java.awt.color
  • java.awt.image
  • java.awt.image.renderable
  • java.awt.print

Java.awt

AWT (Abstract Window Toolkit), package yang terdiri dari kelas-kelas untuk mendukung pemrograman GUI, termasuk di dalamnya kelas-kelas untuk pemrograman grafik 2D.

Berikut adalah kelas-kelas yang terkait dengan Java 2D :
  • AlphaComposite
  • BasicStroke
  • Color
  • Composite
  • CompositeContext
  • Font
  • GradientPaint
  • Graphics2D
  • GraphicsConfiguration
  • GraphicsDevice
  • GraphicsEnvironment
  • Paint
  • PaintContext
  • Rectangle
  • Shape
  • Stroke
  • TexturePaint
  • Transparency

AlphaComposite

Kelas AlphaComposite membungkus metode (mengenkapsulasi metode-metode untuk menggabungkan dan menampilkan objek-objek grafik yang overlap.

AlphaComposite juga dapat memiliki nilai alpha yang menunjukkan derajat transparansi dari objek di mana nilai 0.0 artinya 100% transparan, sedangkan 1.0 tidak transparan.

Contoh Penggunaan AlphaComposite :
//import package yang diperlukan
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.image.*;
import javax.swing.*;
/**
 *
 * @author Axio
 */
public class GrafikCanvas extends JPanel {
    public GrafikCanvas () {
        //menambahkan Canvas
        this.setPreferredSize (new Dimension(700, 500));
        this.setBackground(Color.WHITE);
    }
 
    public void paintComponent(Graphics g) {
        //paint component dengan default method
        super.paintComponent (g);
        Graphics2D g2 = (Graphics2D)g;
     
        g2.setColor(Color.BLUE);
        g2.drawString("DESTINATION(Rectangle)", 40, 20);
        g2.setColor(Color.RED);
        g2.drawString("SOURCE(Circle)", 300, 20);
        g2.setColor(Color.BLACK);
        drawComposite(g2, 0.5f);
    }
 
    public void drawComposite(Graphics2D g2,float alpha) {
        //jenis-jenis alpha composite
        int[] alphaComp = {
            AlphaComposite.SRC, AlphaComposite.DST_IN,
            AlphaComposite.DST_OUT, AlphaComposite.DST_OVER,
            AlphaComposite.SRC_IN, AlphaComposite.SRC_OVER,
            AlphaComposite.SRC_OUT, AlphaComposite.CLEAR
        };
        String [] caption = { "SRC","DST_IN","DST_OUT","DST_OVER",
                                "SRC_IN","SRC_OVER", "SRC_OUT","CLEAR" };
        //ambil objek alpha composite
        int x, y;
        x = y = 40;
        AlphaComposite ac;
        AlphaComposite tac = AlphaComposite.getInstance(AlphaComposite.SRC, 1.0f);
                for(int j = 0; j < alphaComp.length; j++) {
                    //nilai alpha composite
                    ac = AlphaComposite.getInstance(alphaComp[j], alpha);
                 
                    //begin: composite demo
                    BufferedImage buffImg =
                            new BufferedImage(75, 80, BufferedImage.TYPE_INT_ARGB);
                 
                    Graphics2D gbi = buffImg.createGraphics();
                    gbi.setColor(Color.BLUE);
                    gbi.fillRect(0, 0, 50, 50);
                    gbi.setColor(Color.RED);
                    gbi.setComposite(ac);
                    gbi.fillOval(25, 0, 50, 50);
                    //end: composite demo
                 
                    //display image
                    g2.drawImage(buffImg,null, x, y);
                    g2.drawString(caption[j], x, y+70);
                 
                    x += 80;
                }
        }
     /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        JFrame frame = new JFrame ();
        frame.setTitle("Demonstrasi kelas AlphaComposite dengan nilain alpha = 0.5");
     
        //agar frame dapat di-close
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
        // tambahkan canvas
        GrafikCanvas canvas = new GrafikCanvas();
        frame.getContentPane().add(canvas);
     
        //agar ukuran frame menyesuaikan canvas
        frame.pack();
     
        //agar frame muncul di tengah layar
        frame.setLocationRelativeTo(null);
     
        //agar frame dapat terlihat
        frame.setVisible(true);
    }
}

Hasil Output Program :

cara membuat transparency unpam



Clipping

Clipping Area mendefinisikan area dari sebuah objek yang akan tampak ketika objek tersebut di render.

Area yang berada di luar Clipping Area, tidak akan ditampilkan pada prosrs rendering.

Contoh penggunaan Clipping Area :
//import package yang diperlukan
import java.awt.*;
import java.awt.event.*;
import java.awt.geom.*;
import java.awt.image.*;
import javax.swing.*;
import javax.imageio.*;
import java.io.*;
/**
 *
 * @author Axio
 */
public class GrafikCanvas3 extends JPanel {
    public GrafikCanvas3 () {
        //menambahkan Canvas
        this.setPreferredSize (new Dimension(700, 500));
        this.setBackground(Color.WHITE);
    }
 
    public void paintComponent(Graphics g) {
        //paint component dengan default method
        super.paintComponent (g);
        Graphics2D g2 = (Graphics2D)g;
        try
        {
            BufferedImage img = ImageIO.read(new File ("C:\\Users\\Axio\\"
                                        + "Pictures\\simpson.jpg"));
         
            //clip
            Shape lingkaran = new Ellipse2D.Double(10, 10, 200, 200);
            g2.clip(lingkaran);
         
            g2.drawImage(img, 10, 10, 400, 300,null);
            g2.setClip(null);
            g2.drawString("Clipping : Simpson", 100, 350);
         
            //image asli
            g2.drawImage(img, 300, 10, 400, 300, null);
            g2.drawString("Gambar Asli : Simpson", 400, 350);
        }
        catch(Exception e) {
        }
        }
         
/**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
        JFrame frame = new JFrame ();
        frame.setTitle("Contoh Clipping Area");
     
        //agar frame dapat di-close
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
     
        // tambahkan canvas
        GrafikCanvas3 canvas = new GrafikCanvas3();
        frame.getContentPane().add(canvas);
     
        //agar ukuran frame menyesuaikan canvas
        frame.pack();
     
        //agar frame muncul di tengah layar
        frame.setLocationRelativeTo(null);
     
        //agar frame dapat terlihat
        frame.setVisible(true);
    }
}
Hasil Outputnya :

cara membuat clipping unpam

Jika masih ada error silahkan berkomentar, jangan lupa share teman sekelas ya agar bisa dapat nilai A. Masuk bareng lulus juga harus bareng, jangan pelit ilmu antara teman sekelas. Terimakasih!

Jangan lupa kunjungi maswijaba untuk artikel bermanfaat lainnya.

Post a Comment for "Cara Membuat Transparency and Clipping Menggunakan Java Netbeans Universitas Pamulang"