Mega Code Archive

 
Categories / Java Tutorial / 2D Graphics
 

AlphaComposite DST_IN

import java.awt.AlphaComposite; import java.awt.BorderLayout; import java.awt.Canvas; import java.awt.Color; import java.awt.Component; import java.awt.Container; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.geom.Ellipse2D; import java.awt.image.BufferedImage; import javax.swing.JComboBox; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSlider; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class AlphaCompositeDSTIN extends JFrame {   public AlphaCompositeDSTIN() {     getContentPane().add(new DrawingCanvas());     setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);     setSize(500,500);     setVisible(true);   }   public static void main(String arg[]) {     new AlphaCompositeDSTIN();   } } class DrawingCanvas extends JPanel{   float alphaValue = 1.0f;   int compositeRule = AlphaComposite.DST_IN;   AlphaComposite ac;   DrawingCanvas() {     setSize(300, 300);     setBackground(Color.white);   }   public void paint(Graphics g) {     Graphics2D g2D = (Graphics2D) g;     int w = getSize().width;     int h = getSize().height;     BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);     Graphics2D big = bi.createGraphics();     ac = AlphaComposite.getInstance(compositeRule, alphaValue);     big.setColor(Color.red);     big.drawString("Destination", w / 4, h / 4);     big.fill(new Ellipse2D.Double(0, h / 3, 2 * w / 3, h / 3));     big.setColor(Color.blue);     big.drawString("Source", 3 * w / 4, h / 4);     big.setComposite(ac);     big.fill(new Ellipse2D.Double(w / 3, h / 3, 2 * w / 3, h / 3));     g2D.drawImage(bi, null, 0, 0);   } }