Download as pdf or txt
Download as pdf or txt
You are on page 1of 5

Nama : Muhammad Ridhan Maulana.

N
Nim : 181011401397
Kelas : 06TPLP013

Source Code Clipping Area :

import java.awt.*;

import java.awt.event.*;

import java.awt.geom.*;

import java.awt.image.*;

import javax.swing.*;

import javax.imageio.*;

import java.io.*;

public class cliping extends JPanel {

public cliping() {

this.setPreferredSize(new Dimension(800, 500));

this.setBackground(Color.WHITE);

public static void main(String[] args) {

// TODO code application logic here

JFrame frame = new JFrame();

frame.setTitle ("Cliping Area");


frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

cliping panel = new cliping();

frame.getContentPane().add(panel);

frame.pack();

frame.setVisible(true);

@Override

public void paintComponent(Graphics g) {

super.paintComponent(g);

Graphics2D g2 = (Graphics2D)g;

try

BufferedImage img = ImageIO.read(new File(

"Z:\\po.jpg"

));

//clip

Shape lingkaran = new Ellipse2D.Double(30, 30, 250, 250);

g2.clip(lingkaran);

g2.drawImage(img, 10, 10, 400, 300, null);

g2.setClip(null);

g2.drawString("Clipping: Sunset", 100, 350);

//image asli

g2.drawImage(img, 300, 10, 400, 300, null);

g2.drawString("Gambar asli: Sunset", 400, 350);

g2.setColor(Color.BLACK);

g2.drawString("Muhammad Ridhan Maulana. N_181011401397", 15, 370);

g2.drawString("06TPLP013", 15, 384);

catch(IOException e)

}
Source Code:

import java.awt.*;

import java.awt.image.*;

import javax.swing.*;

public class GrafikCanvas extends JPanel {

public GrafikCanvas () {

//menambahkan Canvas

this.setPreferredSize (new Dimension(700, 300));

this.setBackground(Color.WHITE);

@Override

public void paintComponent(Graphics g) {

//paint component dengan default method

super.paintComponent (g);

Graphics2D g2 = (Graphics2D)g;

g2.setColor(Color.RED);

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;

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);

You might also like