日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java利用AlphaComposite類合并圖像

瀏覽:30日期:2022-08-21 16:56:08

package com.hdwang.test;import javax.swing.*;import javax.swing.event.ChangeEvent;import javax.swing.event.ChangeListener;import java.awt.*;import java.awt.event.*;import java.awt.image.BufferedImage;import java.util.HashMap;import java.util.Hashtable;import java.util.Map;/** * Created by hdwang on 2018/10/11. */public class TestDrawing { public static void main(String[] args) { testComposite(); } /** * 合成測試 */ public static void testComposite() { //創建背景圖片(帶透明分量的) BufferedImage bg = new BufferedImage(300, 300, BufferedImage.TYPE_INT_ARGB); Graphics2D bgGraphics = (Graphics2D) bg.getGraphics(); bgGraphics.setColor(Color.yellow); //設置顏色 bgGraphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); //邊緣抗鋸齒 bgGraphics.fillRect(0, 0, bg.getWidth(), bg.getHeight()); //填充矩形 bgGraphics.setColor(Color.BLACK); bgGraphics.setFont(new Font('楷體', Font.ITALIC, 50)); bgGraphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); //文本抗鋸齒 bgGraphics.drawString('背景黃色', 50, 150); //畫文本 bgGraphics.dispose(); //創建第二張圖片 BufferedImage image = new BufferedImage(300, 300, BufferedImage.TYPE_INT_ARGB); Graphics2D imageGraphics = (Graphics2D) image.getGraphics(); imageGraphics.setColor(Color.GREEN); imageGraphics.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); imageGraphics.fillRoundRect(0, 0, image.getWidth(), image.getHeight(), image.getWidth(), image.getHeight()); imageGraphics.setColor(Color.BLACK); imageGraphics.setFont(new Font('楷體', Font.ITALIC, 50)); imageGraphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); imageGraphics.drawString('前景綠色', 50, 200); imageGraphics.dispose(); JFrame jf = new JFrame(); //窗體 JPanel contentPanel = new JPanel(); //內容面板 contentPanel.setBorder(BorderFactory.createLineBorder(Color.blue)); //設置邊框 //contentPanel.setLayout(new BorderLayout()); //添加標簽 JLabel label = new JLabel(); label.setText('組合模式:'); contentPanel.add(label); //添加下拉框 JComboBox comboBox = new JComboBox(); comboBox.addItem('默認'); comboBox.addItem('CLEAR'); comboBox.addItem('SRC'); comboBox.addItem('DST'); comboBox.addItem('SRC_OVER'); comboBox.addItem('DST_OVER'); comboBox.addItem('SRC_IN'); comboBox.addItem('DST_IN'); comboBox.addItem('SRC_OUT'); comboBox.addItem('DST_OUT'); comboBox.addItem('SRC_ATOP'); comboBox.addItem('DST_ATOP'); comboBox.addItem('XOR'); contentPanel.add(comboBox); JLabel label2 = new JLabel(); label2.setText('源圖非透明度:'); contentPanel.add(label2); //添加滑動條([0-10]=>[0,0.1,0.2,.... 1.0]) JSlider jSlider = new JSlider(0,10,10); jSlider.setMajorTickSpacing(5); // 設置主刻度間隔 jSlider.setMinorTickSpacing(1); // 設置次刻度間隔 jSlider.setPaintTicks(true); // 繪制刻度 jSlider.setPaintLabels(true); // 繪制標簽 jSlider.setSnapToTicks(true); // 對其到刻度取值 /* * 給指定的刻度值顯示自定義標簽 */ Hashtable<Integer, JComponent> hashtable = new Hashtable<Integer, JComponent>(); hashtable.put(0, new JLabel('0')); // 0 刻度位置,顯示 '0' hashtable.put(5, new JLabel('0.5')); // 5 刻度位置,顯示 '0.5' hashtable.put(10, new JLabel('1')); // 10 刻度位置,顯示 '1' jSlider.setLabelTable(hashtable); //將刻度值和自定義標簽的對應關系設置到滑塊(設置后不再顯示默認的刻度值) contentPanel.add(jSlider); jf.setContentPane(contentPanel); //窗體設置內容面板為jp jf.setBounds(200, 200, 500, 500); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); jf.setVisible(true); //窗體可見 DrawingPanel drawPanel = new DrawingPanel(); drawPanel.setBounds(0,60,500,415); drawPanel.setPreferredSize(new Dimension(500,415)); drawPanel.setBorder(BorderFactory.createLineBorder(Color.red)); //設置邊框 drawPanel.setBg(bg); drawPanel.setImage(image); // drawPanel.setAlphaComposite(AlphaComposite.SrcAtop); contentPanel.add(drawPanel); Map<String,AlphaComposite> compositeMap = new HashMap<>(); compositeMap.put('CLEAR',AlphaComposite.Clear); compositeMap.put('SRC',AlphaComposite.Src); compositeMap.put('DST',AlphaComposite.Dst); compositeMap.put('SRC_OVER',AlphaComposite.SrcOver); compositeMap.put('DST_OVER',AlphaComposite.DstOver); compositeMap.put('SRC_IN',AlphaComposite.SrcIn); compositeMap.put('DST_IN',AlphaComposite.DstIn); compositeMap.put('SRC_OUT',AlphaComposite.SrcOut); compositeMap.put('DST_OUT',AlphaComposite.DstOut); compositeMap.put('SRC_ATOP',AlphaComposite.SrcAtop); compositeMap.put('DST_ATOP',AlphaComposite.DstAtop); compositeMap.put('XOR',AlphaComposite.Xor); //下拉框選中事件 comboBox.addItemListener(new ItemListener() { @Override public void itemStateChanged(ItemEvent e) {if(e.getStateChange() == ItemEvent.SELECTED){ String selected = e.getItem().toString(); System.out.println(selected); drawPanel.setAlphaComposite(compositeMap.get(selected)); drawPanel.repaint(); //重畫} } }); //滑動條改變事件 jSlider.addChangeListener(new ChangeListener() { @Override public void stateChanged(ChangeEvent e) {int val = jSlider.getValue();float alpha = (float) (val / 10.0);System.out.println('alpha:'+alpha);drawPanel.setAlpha(alpha);drawPanel.repaint(); //重畫 } }); //窗體改變事件 jf.addWindowStateListener(new WindowStateListener() { @Override public void windowStateChanged(WindowEvent e) {System.out.println('window state:'+e.paramString()); } }); } static class DrawingPanel extends JPanel{ BufferedImage bg; BufferedImage image; AlphaComposite alphaComposite; float alpha = 1.0f; //源圖非透明度(新加的圖) public BufferedImage getBg() { return bg; } public void setBg(BufferedImage bg) { this.bg = bg; } public BufferedImage getImage() { return image; } public void setImage(BufferedImage image) { this.image = image; } public AlphaComposite getAlphaComposite() { return alphaComposite; } public void setAlphaComposite(AlphaComposite alphaComposite) { this.alphaComposite = alphaComposite; } public float getAlpha() { return alpha; } public void setAlpha(float alpha) { this.alpha = alpha; } /** * 重寫paint方法 * @param g */ @Override public void paint(Graphics g){ //調用的super.paint(g),讓父類做一些事前的工作,如刷新屏幕 super.paint(g); //在面板上畫畫 Graphics2D g2d = (Graphics2D)g; g2d.setComposite(AlphaComposite.Src); g2d.drawImage(bg,100,100,null); //背景圖 if(alphaComposite!=null) {g2d.setComposite(alphaComposite.derive(alpha)); }else{//默認SrcOverg2d.setComposite(AlphaComposite.SrcOver.derive(alpha)); } g2d.drawImage(image,100,100,null); //疊加圖 //g2d.setColor(Color.GREEN); //g2d.fillRoundRect(100,100,image.getWidth(),image.getHeight(),image.getWidth(),image.getHeight()); //疊加圖層 g2d.dispose(); } }}

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

Java利用AlphaComposite類合并圖像

以上就是Java利用AlphaComposite類合并圖像的詳細內容,更多關于Java 合并圖像的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
神马久久午夜| 国产一区调教| 亚洲欧美高清| 久久国产精品毛片| 亚洲欧美视频| 亚洲精品乱码日韩| 国产欧美69| 日产午夜精品一线二线三线| 色综合狠狠操| 久久人人精品| 午夜日本精品| 亚洲伊人影院| 亚洲欧洲日韩| 国产麻豆精品久久| 久久精品系列| 视频小说一区二区| 美女91精品| 欧美一区网站| 久久精品色播| 日韩精品欧美激情一区二区| 精品在线播放| 日韩专区欧美专区| 欧美在线看片| 国产精品igao视频网网址不卡日韩 | 老鸭窝毛片一区二区三区| 免播放器亚洲| 国产精品中文字幕制服诱惑| av资源新版天堂在线| 国内精品福利| 日韩一区中文| 91欧美在线| 国产精品毛片在线| 久久国内精品视频| 蜜桃国内精品久久久久软件9| 中文在线日韩| 精品视频一区二区三区在线观看 | 日韩视频免费| 日韩二区三区在线观看| 国内精品亚洲| 91久久黄色| 国产精品亲子伦av一区二区三区| 日韩三区免费| 天堂va在线高清一区| 三上亚洲一区二区| 蜜臀91精品一区二区三区| 麻豆精品在线| 性一交一乱一区二区洋洋av| 麻豆国产欧美一区二区三区| 国产精品人人爽人人做我的可爱| 久久国产欧美日韩精品| 久久久久久久久久久妇女| 日韩精品视频在线看| 日韩大片在线| 日本va欧美va欧美va精品| 麻豆精品蜜桃| 国产亚洲观看| 9色精品在线| 国产第一亚洲| 日韩欧美久久| 免费观看久久av| 另类小说一区二区三区| 亚洲一区久久| 中文在线а√天堂| 日韩中文字幕| 欧美aa在线观看| 日韩不卡一区二区| 午夜av一区| 成人亚洲一区| 国产日韩欧美在线播放不卡| 亚洲欧美视频| 久久久久久久久久久9不雅视频| 国产欧美在线| 视频一区视频二区在线观看| 国产成年精品| 青草综合视频| 99视频在线精品国自产拍免费观看| 国内在线观看一区二区三区| 蜜桃av一区二区三区电影| 色88888久久久久久影院| 青草综合视频| 首页国产欧美日韩丝袜| 欧美亚洲国产激情| 国产一区2区在线观看| 久久国产三级| 午夜在线一区| 亚洲不卡av不卡一区二区| 国产高清精品二区| 日韩三级精品| 蜜臀国产一区二区三区在线播放| 日本精品影院| 福利精品一区| 国产精品第一国产精品| 亚洲ww精品| 蜜臀av性久久久久蜜臀aⅴ流畅| 日韩亚洲一区在线| 精品一区电影| 国产精品高潮呻吟久久久久| 日韩精品视频一区二区三区| 亚洲小说春色综合另类电影| 宅男噜噜噜66国产日韩在线观看| 91精品国产福利在线观看麻豆| 精品成av人一区二区三区| 国产精品嫩草影院在线看| 日本不卡的三区四区五区| 亚洲欧美日本日韩| 亚洲免费激情| 欧美精品一线| 欧美精品黄色| 一区二区视频欧美| 99久久九九| 久久国产免费| 99久久久久国产精品| 欧美日韩国产v| 黄色aa久久| 激情黄产视频在线免费观看| 精品久久在线| 成年男女免费视频网站不卡| 国产成年精品| 97欧美在线视频| 中文字幕人成乱码在线观看| sm久久捆绑调教精品一区| av中文字幕在线观看第一页| 国产美女高潮在线| 日韩中文影院| 亚洲伦乱视频| 久久麻豆精品| 黄色亚洲在线| 久久国产精品亚洲77777| 亚洲一区二区日韩| 色8久久久久| 欧美一区在线观看视频| 国产日韩视频| 狠狠久久伊人| 久久亚洲在线| 麻豆成人在线| 日本欧美久久久久免费播放网| 国产视频一区二区在线播放| 久久久久伊人| 久久精品国产亚洲夜色av网站| 在线观看免费一区二区| 亚洲免费中文| 欧美一级全黄| 精品国产aⅴ| 蜜臀国产一区| 国产亚洲福利| 日韩av不卡一区二区| 鲁大师精品99久久久| 日韩在线精品| 日韩视频二区| 日韩在线观看中文字幕| 国产精品一区二区三区四区在线观看| 久久久精品国产**网站| 日韩国产一区| 久久成人一区| 国产精品极品| 精品久久国产一区| 久久九九精品| 中文字幕av一区二区三区人| 亚洲小说欧美另类婷婷| 亚洲欧美日韩国产一区二区| 日本aⅴ亚洲精品中文乱码 | 在线日韩欧美| 中文字幕亚洲影视| 久久伊人久久| 亚洲国产影院| 亚久久调教视频| 久久97久久97精品免视看秋霞| 神马午夜在线视频| 一区二区91| 国产一区一一区高清不卡| 黄色亚洲大片免费在线观看| 国产欧美日韩免费观看| 久久美女性网| 日本国产亚洲| 色天使综合视频| 日韩国产欧美在线视频| 极品av在线| 日韩在线网址| 四虎4545www国产精品 | 欧美亚洲国产激情| 日韩精品欧美成人高清一区二区| 国产在线视频欧美一区| 亚洲一区网站| 久久字幕精品一区| 亚洲一区免费| 精品视频一区二区三区在线观看| 亚洲免费精品| 精品一区二区三区中文字幕 | 国产成人免费精品| 美日韩精品视频| 荡女精品导航| 日韩中文字幕无砖| 久久亚洲精品中文字幕蜜潮电影| 国产欧美日韩综合一区在线播放| 欧美精品一二| 麻豆精品蜜桃视频网站| 免费在线视频一区| 日韩欧美一区二区三区在线视频 | 一区二区三区四区日韩| 国产精品毛片一区二区在线看|