Java by API/java.awt/AlphaComposite

Материал из Java эксперт
Перейти к: навигация, поиск

AlphaComposite.CLEAR

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.ruposite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JPanel {

 public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D) g;
   RenderingHints rh = g2.getRenderingHints();
   rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
   g2.setRenderingHints(rh);
   int x = 40, y = 40;
   g.setColor(Color.red);
   g.fillOval(x, y, 50, 50);
   Composite old = g2.getComposite();
   g2.setComposite(AlphaComposite.getInstance(AlphaComposite.CLEAR));
   g.setColor(Color.green);
   g.fillOval(x + 30, y + 30, 30, 30);
   g2.setComposite(old);
   g.setColor(Color.black);
   g.drawString("AlphaComposite.CLEAR", x, y + 80);
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame();
   frame.getContentPane().add(new MainClass());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(200, 200);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



AlphaComposite.DST_ATOP

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import javax.swing.JFrame; import javax.swing.JPanel; public class Main extends JPanel {

 public void paint(Graphics g) {
   Graphics2D g2d = (Graphics2D) g;
   AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.DST_ATOP, 0.5f);
   BufferedImage buffImg = new BufferedImage(60, 60, BufferedImage.TYPE_INT_ARGB);
   Graphics2D gbi = buffImg.createGraphics();
   gbi.setPaint(Color.red);
   gbi.fillRect(0, 0, 40, 40);
   gbi.setComposite(ac);
   gbi.setPaint(Color.green);
   gbi.fillRect(5, 5, 40, 40);
   g2d.drawImage(buffImg, 20, 20, null);
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame("Composition");
   frame.add(new Main());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(400, 120);
   frame.setVisible(true);
 }

}

 </source>
   
  
 
  



AlphaComposite.DST_IN

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.ruposite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JPanel {

 public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D) g;
   RenderingHints rh = g2.getRenderingHints();
   rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
   g2.setRenderingHints(rh);
   int x = 40, y = 40;
   g.setColor(Color.red);
   g.fillOval(x, y, 50, 50);
   Composite old = g2.getComposite();
   g2.setComposite(AlphaComposite.getInstance(AlphaComposite.DST_IN));
   g.setColor(Color.green);
   g.fillOval(x + 30, y + 30, 30, 30);
   g2.setComposite(old);
   g.setColor(Color.black);
   g.drawString("AlphaComposite.DST_IN", x, y + 80);
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame();
   frame.getContentPane().add(new MainClass());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(200, 200);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



AlphaComposite.DST_OUT

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.ruposite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JPanel {

 public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D) g;
   RenderingHints rh = g2.getRenderingHints();
   rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
   g2.setRenderingHints(rh);
   int x = 40, y = 40;
   g.setColor(Color.red);
   g.fillOval(x, y, 50, 50);
   Composite old = g2.getComposite();
   g2.setComposite(AlphaComposite.getInstance(AlphaComposite.DST_OUT));
   g.setColor(Color.green);
   g.fillOval(x + 30, y + 30, 30, 30);
   g2.setComposite(old);
   g.setColor(Color.black);
   g.drawString("AlphaComposite.DST_OUT", x, y + 80);
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame();
   frame.getContentPane().add(new MainClass());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(200, 200);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



AlphaComposite.DST_OVER

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.ruposite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JPanel {

 public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D) g;
   RenderingHints rh = g2.getRenderingHints();
   rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
   g2.setRenderingHints(rh);
   int x = 40, y = 40;
   g.setColor(Color.red);
   g.fillOval(x, y, 50, 50);
   Composite old = g2.getComposite();
   g2.setComposite(AlphaComposite.getInstance(AlphaComposite.DST_OVER));
   g.setColor(Color.green);
   g.fillOval(x + 30, y + 30, 30, 30);
   g2.setComposite(old);
   g.setColor(Color.black);
   g.drawString("AlphaComposite.DST_OVER", x, y + 80);
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame();
   frame.getContentPane().add(new MainClass());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(200, 200);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



AlphaComposite: getInstance(int rule, float alpha)

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.ruposite; import java.awt.Container; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.geom.Rectangle2D; import javax.swing.JComponent; import javax.swing.JFrame; public class MainClass {

 public static void main(String[] args) {
   JFrame jf = new JFrame("Demo");
   Container cp = jf.getContentPane();
   MyCanvas tl = new MyCanvas();
   cp.add(tl);
   jf.setSize(300, 200);
   jf.setVisible(true);
 }

} class MyCanvas extends JComponent {

 public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D)g;
   
   g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,
       RenderingHints.VALUE_ANTIALIAS_ON);
   Rectangle2D r = new Rectangle2D.Double(50, 50, 150, 100);
   g2.setPaint(Color.red);
   g2.fill(r);
   Composite c = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,
      .4f);
   g2.setComposite(c);
   g2.setPaint(Color.blue);
   g2.setFont(new Font("Times New Roman", Font.PLAIN, 72));
   g2.drawString("www.jexp.ru", 25, 130);
 }

}


 </source>
   
  
 
  



AlphaComposite.SRC

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.ruposite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JPanel {

 public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D) g;
   RenderingHints rh = g2.getRenderingHints();
   rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
   g2.setRenderingHints(rh);
   int x = 40, y = 40;
   g.setColor(Color.red);
   g.fillOval(x, y, 50, 50);
   Composite old = g2.getComposite();
   g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC));
   g.setColor(Color.green);
   g.fillOval(x + 30, y + 30, 30, 30);
   g2.setComposite(old);
   g.setColor(Color.black);
   g.drawString("AlphaComposite.SRC", x, y + 80);
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame();
   frame.getContentPane().add(new MainClass());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(200, 200);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



AlphaComposite.SRC_ATOP

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import javax.swing.JFrame; import javax.swing.JPanel; public class Main extends JPanel {

 public void paint(Graphics g) {
   Graphics2D g2d = (Graphics2D) g;
   AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_ATOP, 0.5f);
   BufferedImage buffImg = new BufferedImage(60, 60, BufferedImage.TYPE_INT_ARGB);
   Graphics2D gbi = buffImg.createGraphics();
   gbi.setPaint(Color.red);
   gbi.fillRect(0, 0, 40, 40);
   gbi.setComposite(ac);
   gbi.setPaint(Color.green);
   gbi.fillRect(5, 5, 40, 40);
   g2d.drawImage(buffImg, 20, 20, null);
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame("Composition");
   frame.add(new CompositingDST_ATOP());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(400, 120);
   frame.setVisible(true);
 }

}

 </source>
   
  
 
  



AlphaComposite.SRC_IN

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.ruposite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JPanel {

 public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D) g;
   RenderingHints rh = g2.getRenderingHints();
   rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
   g2.setRenderingHints(rh);
   int x = 40, y = 40;
   g.setColor(Color.red);
   g.fillOval(x, y, 50, 50);
   Composite old = g2.getComposite();
   g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_IN));
   g.setColor(Color.green);
   g.fillOval(x + 30, y + 30, 30, 30);
   g2.setComposite(old);
   g.setColor(Color.black);
   g.drawString("AlphaComposite.SRC_IN", x, y + 80);
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame();
   frame.getContentPane().add(new MainClass());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(200, 200);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



AlphaComposite.SRC_OUT

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.ruposite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JPanel {

 public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D) g;
   RenderingHints rh = g2.getRenderingHints();
   rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
   g2.setRenderingHints(rh);
   int x = 40, y = 40;
   g.setColor(Color.red);
   g.fillOval(x, y, 50, 50);
   Composite old = g2.getComposite();
   g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OUT));
   g.setColor(Color.green);
   g.fillOval(x + 30, y + 30, 30, 30);
   g2.setComposite(old);
   g.setColor(Color.black);
   g.drawString("AlphaComposite.SRC_OUT", x, y + 80);
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame();
   frame.getContentPane().add(new MainClass());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(200, 200);
   frame.setVisible(true);
 }

}


 </source>
   
  
 
  



AlphaComposite.SRC_OVER

   <source lang="java">

import java.awt.AlphaComposite; import java.awt.Color; import java.awt.ruposite; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import javax.swing.JFrame; import javax.swing.JPanel; public class MainClass extends JPanel {

 public void paint(Graphics g) {
   Graphics2D g2 = (Graphics2D) g;
   RenderingHints rh = g2.getRenderingHints();
   rh.put(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
   g2.setRenderingHints(rh);
   int x = 40, y = 40;
   g.setColor(Color.red);
   g.fillOval(x, y, 50, 50);
   Composite old = g2.getComposite();
   g2.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER));
   g.setColor(Color.green);
   g.fillOval(x + 30, y + 30, 30, 30);
   g2.setComposite(old);
   g.setColor(Color.black);
   g.drawString("AlphaComposite.SRC_OVER", x, y + 80);
 }
 public static void main(String[] args) {
   JFrame frame = new JFrame();
   frame.getContentPane().add(new MainClass());
   frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
   frame.setSize(200, 200);
   frame.setVisible(true);
 }

}


 </source>