亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? compositetest.java

?? 經(jīng)典教材:java核心技術(shù)卷1、卷2的所有源代碼
?? JAVA
字號(hào):
/**
   @version 1.02 2004-08-24
   @author Cay Horstmann
*/

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.awt.geom.*;
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;

/**
   This program demonstrates the Porter-Duff composition rules.
*/
public class CompositeTest
{  
   public static void main(String[] args)
   {  
      JFrame frame = new CompositeTestFrame();
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.setVisible(true);
   }
}

/**
   This frame contains a combo box to choose a composition
   rule, a slider to change the source alpha channel,
   and a panel that shows the composition.
*/
class CompositeTestFrame extends JFrame
{  
   public CompositeTestFrame()
   {  
      setTitle("CompositeTest");
      setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT);

      canvas = new CompositePanel();
      add(canvas, BorderLayout.CENTER);

      ruleCombo = new JComboBox(new
         Object[]
         {
            new Rule("CLEAR", "  ", "  "),
            new Rule("SRC", " S", " S"),
            new Rule("DST", "  ", "DD"),
            new Rule("SRC_OVER", " S", "DS"),
            new Rule("DST_OVER", " S", "DD"),
            new Rule("SRC_IN", "  ", " S"),
            new Rule("SRC_OUT", " S", "  "),
            new Rule("DST_IN", "  ", " D"),
            new Rule("DST_OUT", "  ", "D "),
            new Rule("SRC_ATOP", "  ", "DS"),
            new Rule("DST_ATOP", " S", " D"),
            new Rule("XOR", " S", "D "),
         });
      ruleCombo.addActionListener(new
         ActionListener()
         {
            public void actionPerformed(ActionEvent event)
            {
               Rule r = (Rule)ruleCombo.getSelectedItem();
               canvas.setRule(r.getValue());
               explanation.setText(r.getExplanation());
            }
         });

      alphaSlider = new JSlider(0, 100, 75);
      alphaSlider.addChangeListener(new
         ChangeListener()
         {   
            public void stateChanged(ChangeEvent event)
            {  
               canvas.setAlpha(alphaSlider.getValue());
            }
         });
      JPanel panel = new JPanel();
      panel.add(ruleCombo);
      panel.add(new JLabel("Alpha"));
      panel.add(alphaSlider);
      add(panel, BorderLayout.NORTH);

      explanation = new JTextField();
      add(explanation, BorderLayout.SOUTH);

      canvas.setAlpha(alphaSlider.getValue());
      Rule r = (Rule) ruleCombo.getSelectedItem();
      canvas.setRule(r.getValue());
      explanation.setText(r.getExplanation());
   }

   private CompositePanel canvas;
   private JComboBox ruleCombo;
   private JSlider alphaSlider;
   private JTextField explanation;
   private static final int DEFAULT_WIDTH = 400;
   private static final int DEFAULT_HEIGHT = 400;
}

/**
   This class describes a Porter-Duff rule.
*/
class Rule
{
   /**
      Constructs a Porter-Duff rule
      @param n the rule name
      @param pd1 the first row of the Porter-Duff square
      @param pd2 the second row of the Porter-Duff square
   */
   public Rule(String n, String pd1, String pd2)
   {
      name = n;
      porterDuff1 = pd1;
      porterDuff2 = pd2;
   }

   /**
      Gets an explanation of the behavior of this rule.
      @return the explanation
   */
   public String getExplanation()
   {  
      StringBuilder r = new StringBuilder("Source ");
      if (porterDuff2.equals("  ")) r.append("clears");
      if (porterDuff2.equals(" S")) r.append("overwrites");
      if (porterDuff2.equals("DS")) r.append("blends with");
      if (porterDuff2.equals(" D")) r.append("alpha modifies");
      if (porterDuff2.equals("D ")) r.append("alpha complement modifies");
      if (porterDuff2.equals("DD")) r.append("does not affect");
      r.append(" destination");
      if (porterDuff1.equals(" S")) r.append(" and overwrites empty pixels");
      r.append(".");
      return r.toString();
   }

   public String toString() { return name; }

   /**
      Gets the value of this rule in the AlphaComposite class
      @return the AlphaComposite constant value, or -1 if
      there is no matching constant.
   */
   public int getValue()
   {
      try
      {
         return (Integer) AlphaComposite.class.getField(name).get(null);
      }
      catch (Exception e)
      {
         return -1;
      }
   }

   private String name;
   private String porterDuff1; 
   private String porterDuff2; 
}

/**
   This panel draws two shapes, composed with a
   composition rule.
*/
class CompositePanel extends JPanel
{  
   public CompositePanel()
   {  
      shape1 = new Ellipse2D.Double(100, 100, 150, 100);
      shape2 = new Rectangle2D.Double(150, 150, 150, 100);
   }

   public void paintComponent(Graphics g)
   {  
      super.paintComponent(g);
      Graphics2D g2 = (Graphics2D)g;

      BufferedImage image = new BufferedImage(getWidth(), getHeight(), 
         BufferedImage.TYPE_INT_ARGB);
      Graphics2D gImage = image.createGraphics();
      gImage.setPaint(Color.red);
      gImage.fill(shape1);
      AlphaComposite composite = AlphaComposite.getInstance(rule, alpha);
      gImage.setComposite(composite);
      gImage.setPaint(Color.blue);
      gImage.fill(shape2);
      g2.drawImage(image, null, 0, 0);
   }

   /**
      Sets the composition rule.
      @param r the rule (as an AlphaComposite constant)
   */
   public void setRule(int r)
   {  
      rule = r;
      repaint();
   }

   /**
      Sets the alpha of the source
      @param a the alpha value between 0 and 100
   */
   public void setAlpha(int a)
   {  
      alpha = (float) a / 100.0F;
      repaint();
   }

   private int rule;
   private Shape shape1;
   private Shape shape2;
   private float alpha;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区精品在线| 在线精品视频免费播放| 亚洲成人午夜影院| 久久电影国产免费久久电影| 国产成人在线网站| 欧美在线free| 欧美国产精品v| 香蕉久久一区二区不卡无毒影院| 精品亚洲国内自在自线福利| 国产成人免费视频网站高清观看视频 | 久久成人免费网站| 91麻豆6部合集magnet| 欧美精品一区二区在线观看| 亚洲精品免费视频| 99re视频精品| 中文字幕一区二区不卡| 国内久久精品视频| 精品国产人成亚洲区| 日韩激情中文字幕| 日韩一区二区在线免费观看| 午夜久久久久久久久久一区二区| 91网站最新网址| 综合久久国产九一剧情麻豆| 99综合电影在线视频| 亚洲视频在线一区二区| 99久久99久久久精品齐齐| 亚洲精品午夜久久久| 欧美性大战久久| 欧美a级理论片| 亚洲精品在线免费播放| 丁香六月久久综合狠狠色| 亚洲欧洲精品成人久久奇米网| 从欧美一区二区三区| 亚洲主播在线播放| 2019国产精品| 另类欧美日韩国产在线| 久久亚洲精品小早川怜子| 国产精品自拍一区| 亚洲一区在线观看免费 | 日韩欧美激情四射| 国产一区二区三区四区在线观看| 日本一区二区三区四区| 色诱视频网站一区| 国内精品国产成人国产三级粉色| 国产精品天干天干在观线| 欧美性一区二区| 99re在线精品| 国产成人精品网址| 日本aⅴ精品一区二区三区| 中文字幕在线不卡国产视频| 精品乱人伦小说| 欧美一区二区三区四区高清| 成人99免费视频| 国产91对白在线观看九色| 日韩精品视频网站| 亚洲精品第1页| 亚洲制服丝袜一区| 18成人在线观看| 国产视频一区在线观看| 精品国产123| 国产校园另类小说区| 久久精品亚洲精品国产欧美 | 欧美一级欧美三级| 欧美日韩国产精品自在自线| 欧美综合久久久| 51午夜精品国产| 久久先锋影音av鲁色资源| 久久综合网色—综合色88| 国产精品色婷婷| 国产喷白浆一区二区三区| 久久久久久久久久电影| 国产婷婷色一区二区三区在线| 国产日韩精品一区二区三区在线| 亚洲国产激情av| 亚洲妇女屁股眼交7| 精品一区二区三区不卡| 成人午夜视频免费看| 欧美日韩欧美一区二区| 精品免费一区二区三区| 亚洲欧美日韩国产手机在线 | 91社区在线播放| 91精品国产综合久久精品app| 国产亚洲短视频| 亚洲一区二区中文在线| 国产成人精品综合在线观看 | 日韩在线一区二区三区| 懂色av一区二区三区免费看| 欧美系列在线观看| 亚洲三级小视频| 国产乱淫av一区二区三区| 56国语精品自产拍在线观看| 亚洲天堂免费在线观看视频| 国产一区免费电影| 日韩一区二区三区电影在线观看| 亚洲精品福利视频网站| 91免费在线视频观看| 中文字幕在线一区| 国产91高潮流白浆在线麻豆| 久久久久亚洲综合| 久久99精品一区二区三区| 日韩一区二区麻豆国产| 久草这里只有精品视频| 欧美一级黄色片| 国产成人在线网站| 中文字幕日韩一区二区| 久久精品999| 国产欧美一区二区三区沐欲| www.视频一区| 一级日本不卡的影视| 在线视频你懂得一区| 免费的国产精品| 国产女主播一区| 欧美日韩美女一区二区| 日本少妇一区二区| 国产日韩欧美精品综合| 欧美日韩国产综合一区二区| 国产乱一区二区| 一区二区三区在线观看国产| 精品国产精品一区二区夜夜嗨| 国产精品一区不卡| 亚洲一区二区三区在线| 久久久三级国产网站| 4438x成人网最大色成网站| 国产精品自拍毛片| 免费黄网站欧美| 亚洲欧美另类小说视频| 国产欧美日本一区视频| 欧美另类一区二区三区| 91国偷自产一区二区三区观看| 国产精品一区二区在线观看不卡| 一级特黄大欧美久久久| 亚洲欧洲av一区二区三区久久| 久久久久久久电影| 日韩一区二区视频| 欧美日韩久久久一区| 在线免费观看成人短视频| 91成人在线免费观看| 成人免费不卡视频| 91在线观看高清| 91麻豆国产福利精品| 99精品热视频| 欧美精品乱人伦久久久久久| 91浏览器打开| 91精品午夜视频| 日韩区在线观看| 国产午夜精品一区二区| 国产精品午夜在线| 夜夜操天天操亚洲| 久久激情综合网| 成人app软件下载大全免费| jlzzjlzz亚洲女人18| 欧美日韩久久久一区| 久久这里只有精品6| 中文字幕亚洲欧美在线不卡| 亚洲欧美日本韩国| 热久久久久久久| 丰满少妇久久久久久久| 日韩一级黄色大片| 亚洲人成人一区二区在线观看| 日本在线播放一区二区三区| 国产精品一区免费在线观看| 欧美三级视频在线观看| 自拍偷拍亚洲激情| 国产成人久久精品77777最新版本| 在线观看不卡一区| 亚洲欧洲av在线| 成人免费观看视频| 久久蜜桃香蕉精品一区二区三区| 石原莉奈在线亚洲二区| 成人av片在线观看| 国产女主播视频一区二区| 丝袜美腿亚洲一区二区图片| 色噜噜久久综合| 中文字幕亚洲一区二区av在线| 国产超碰在线一区| 26uuu亚洲| 成人一区二区三区视频在线观看| 欧美一区二区三区公司| 亚洲成av人影院| 91精品啪在线观看国产60岁| 亚洲国产成人av网| 91精品国产色综合久久不卡电影| 午夜电影一区二区三区| 这里只有精品免费| 国产一区二区三区香蕉| 国产精品欧美极品| 色呦呦一区二区三区| 亚洲国产cao| 精品国产三级a在线观看| 风间由美性色一区二区三区| 亚洲欧美色综合| 日韩一区二区影院| 成人黄色软件下载| 亚洲国产精品一区二区尤物区| 日韩一卡二卡三卡四卡| 91影院在线观看| 精品一区二区成人精品| 性感美女极品91精品| 中文字幕av一区二区三区| 7777精品伊人久久久大香线蕉完整版|