圖象緩沖的應(yīng)用雙緩沖繪圖:

           1  ///////////////////////////////////////////////////////////////////////////////
           2  // 
           3  // @title:BufImgJpane
           4  // 
           5  // @discription 實(shí)現(xiàn)了雙緩沖畫圖
           6  // 
           7  // @author 爪洼河
           8  // 
           9  // @date 2006-8
          10  //
          11  ////////////////////////////////////////////////////////////////////////////////////
          12 import java.awt.Graphics;
          13 import java.awt.Graphics2D;
          14 import java.awt.Image;
          15 import java.awt.image.BufferedImage;
          16 import javax.swing.ImageIcon;
          17 import javax.swing.JButton;
          18 import javax.swing.JFrame;
          19 import javax.swing.JPanel;
          20 public class BufImgJpane extends JPanel
          21 {
          22     Image img ;
          23     BufferedImage bufimg ;
          24     public BufImgJpane ()
          25     {
          26         ImageIcon icon = new ImageIcon (getClass ().getResource ("1.jpg")) ;
          27         img = icon.getImage () ;
          28         bufimg = new BufferedImage (img.getWidth (this) , img.getHeight (this) ,
          29                 BufferedImage.TYPE_3BYTE_BGR) ;
          30         Graphics2D g2 = bufimg.createGraphics () ;
          31         g2.clearRect (0 , 0 , img.getWidth (this) , img.getHeight (this)) ;
          32         g2.drawImage (img , 0 , 0 , img.getWidth (this) , img.getHeight (this) ,
          33                 this) ;
          34     }
          35     public void paintComponent (Graphics g)
          36     {
          37 
          38         g.drawImage (bufimg , 0 , 0 , this.getWidth () , this.getHeight () ,
          39                 this) ;
          40     }
          41     public static void main (String args[])
          42     {
          43         BufImgJpane bufimgpane = new BufImgJpane () ;
          44         JFrame frame = new JFrame ("雙緩沖畫圖") ;
          45         frame.add (bufimgpane) ;
          46         frame.setSize (610 , 625) ;
          47         frame.setVisible (true) ;
          48         frame.setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE) ;
          49     }
          50 }
          51 

          圖象緩沖的應(yīng)用截圖:
           1 ///////////////////////////////////////////////////
           2 //
           3 //  @name TestImageIO.java
           4 //
           5 //  @discription 首先測(cè)試把一個(gè)容器通過按鈕事件存為一張圖片。
           6 //
           7 //  @author java&he
           8 //
           9 //  @date 2006-12
          10 //
          11 ////////////////////////////////////////////////////
          12 import java.awt.Graphics;
          13 import java.awt.event.ActionEvent;
          14 import java.awt.event.ActionListener;
          15 import java.awt.image.BufferedImage;
          16 import java.io.File;
          17 import javax.imageio.ImageIO;
          18 import javax.swing.*;
          19 public class TestImageIO
          20 {
          21     JFrame frame = new JFrame ("測(cè)試截屏");
          22     JPanel panel = new JPanel ();
          23     public TestImageIO ()
          24     {
          25         
          26         frame.setSize (200,300);
          27         
          28         frame.add ("Center",panel);
          29         panel.setLayout (null);
          30         JButton btn = new JButton ("paint");
          31         btn.setBounds (100,100,100,50);
          32         panel.add (btn);
          33         btn.addActionListener (new ActionListener ()
          34         {
          35             public void actionPerformed (ActionEvent evt)
          36             {
          37                 BufferedImage bufimg = new BufferedImage (TestImageIO.this.frame.getBounds ().width,TestImageIO.this.frame.getBounds ().height,BufferedImage.TYPE_INT_RGB);
          38                 Graphics g = bufimg.getGraphics ();
          39                 TestImageIO.this.frame.paint (g);
          40                 g.dispose ();
          41                 try
          42                 {
          43                     ImageIO.write (bufimg,"jpg",new File ("Test.jpg"));
          44                     
          45                 }
          46                 catch(Exception e)
          47                 {
          48                     e.printStackTrace ();
          49                 }
          50             }
          51         });
          52         frame.setVisible (true);
          53         frame.setDefaultCloseOperation (frame.EXIT_ON_CLOSE);
          54     }
          55     public static void main (String[] args)
          56     {
          57         new TestImageIO ();
          58     }
          59     
          60 }
          61 

          posted on 2007-02-07 09:45 -274°C 閱讀(350) 評(píng)論(0)  編輯  收藏 所屬分類: JAVA

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊(cè)

          JAVA網(wǎng)站

          關(guān)注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914107
          • 排名 - 40

          最新評(píng)論

          主站蜘蛛池模板: 宜春市| 沭阳县| 于都县| 延庆县| 牟定县| 德兴市| 津南区| 广昌县| 马关县| 塘沽区| 拜泉县| 平度市| 蒙自县| 白银市| 黑河市| 绍兴县| 长宁区| 莲花县| 浮山县| 朝阳市| 碌曲县| 贞丰县| 偃师市| 会昌县| 阿克| 北辰区| 临夏县| 大埔县| 乡宁县| 万源市| 江阴市| 凌源市| 九龙坡区| 靖江市| 威信县| 青浦区| 叙永县| 澄江县| 宁夏| 铜鼓县| 永福县|