小菜樂(lè)園

          生活就是一杯茶

            BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
            8 Posts :: 0 Stories :: 3 Comments :: 0 Trackbacks

          常用鏈接

          留言簿(1)

          我參與的團(tuán)隊(duì)

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          2007年8月17日 #

               摘要: * 圖像縮放 - 參數(shù)指定目標(biāo)圖縮放比例。
          * @param srcImage 源圖像對(duì)象。
          * @param xscale 圖像 x 軸(寬度)上的的縮放比例。
          * @param yscale 圖像 y 軸(高度)上的的縮放比例。
          * @param hints 重新繪圖使用的 RenderingHints 對(duì)象。
          * @return 縮放后的圖像對(duì)象  閱讀全文
          posted @ 2007-08-18 10:20 小菜 閱讀(1522) | 評(píng)論 (0)編輯 收藏

               摘要:   閱讀全文
          posted @ 2007-08-17 20:19 小菜 閱讀(1619) | 評(píng)論 (0)編輯 收藏

               摘要: JAVA2D在圖像處理方面提供一對(duì)接口:  閱讀全文
          posted @ 2007-08-17 10:58 小菜 閱讀(2052) | 評(píng)論 (0)編輯 收藏

          AWT 提供了一些用戶(hù)接口的構(gòu)件,但是它不提供一些類(lèi)似的純粹的繪制圖形的對(duì)象,例如 Rectangle、Polygon 和 Point 類(lèi)沒(méi)有任何繪制圖形的能力。換句話說(shuō)它們不具備 draw 方法,僅僅可以設(shè)置和的到它們代表的幾何實(shí)體的信息。

              為了代替那些純粹的、可繪制圖形的對(duì)象,AWT 使用了一種簡(jiǎn)單的模式。每個(gè) AWT 構(gòu)件完全來(lái)自于它自己的 java.awt.Graphics 對(duì)象。

              java.awt.Graphics 是一個(gè)抽象類(lèi),其作用是定義一個(gè)真正的工具,用來(lái)接受圖形操作。

          表一:傳遞一個(gè)對(duì) Graphics 的引用的 JDK 方法

          java.awt Canvas paint(Graphics g)
          Component paint(Graphics g)
          Component paintAll(Graphics g)
          Component print(Graphics g)
          Component printAll(Graphics g)
          Component update(Graphics g)
          Container paint(Graphics g)
          Container paintComponents(Graphics g)
          Container print(Graphics g)
          Container printComponents(Graphics g)
          ScrollPane printComponents(Graphics g)
          java.beans Property-Editor paintValue(Graphics g, Rectangle r)
          Property-EditorSupport paintValue(Graphics g, Rectangle r)

          表二:返回 Graphics 引用的 JDK 方法

          java.awt Component getGraphics()
          Image getGraphics()
          PrintJob getGraphics()
          Graphics create()
          Graphics create(intx, int y, int w, int h)

          Graphics 類(lèi)履行2個(gè)主要的職責(zé):

              · 設(shè)置和獲取圖形參數(shù)。

              · 在輸出設(shè)備中執(zhí)行圖形操作。

          得到構(gòu)件的 Graphics 的引用有2種方法:

              · 重載 表一 中的方法(傳遞 Graphics 的引用)

              · 調(diào)用 表二 中的方法(返回 Graphics 的副本)

          Graphics 對(duì)象的壽命

              除了使用 表二 的方法得到的 Graphics 的副本外,使用 表一 的方法得到的 Graphics 的引用只有在方法的執(zhí)行過(guò)程中才有效(例如重載的 paint() 和 update() 等方法)。一旦方法返回,引用將不再有效。

              通過(guò)使用 表二 的方法得到的 Graphics 的對(duì)象使用完后需要調(diào)用 Graphics.dispose() 方法處理。

          // 程序片斷
          public void someMethodInAComponent(){
           Graphics g = getGraphics();
           
           if(g != null){
            try{
             // ...
             // ...
            }
            finally{
             g.dispose();
            }
           }
          }

          Graphics 類(lèi)還提供2個(gè)方法創(chuàng)建 Graphics 對(duì)象:

              · Graphics create() 

                  創(chuàng)建精確的 Graphics 副本。

              · Graphics create(int x, int y, int w, int h)

                  創(chuàng)建一個(gè)副本,但是,變?cè)付ㄒ粋€(gè)平移量 (x, y) 和一個(gè)新的剪貼矩形 (x, y, w, h)。create(int, int, int, int) 返回的 Graphics 的原點(diǎn)被轉(zhuǎn)換成 (x, y) 的坐標(biāo),但是剪貼矩形轉(zhuǎn)換為原剪貼矩形和指定矩形的交集。

          import java.applet.Applet;
          import java.awt.*;
          import java.awt.event.*;

          public class CreateTest extends Applet{
           private Image image;
           
           public void init(){
            image = getImage(getCodeBase(),"lena.jpg");
            try{
             MediaTracker mt = new MediaTracker(this);
             mt.addImage(image,0);
             mt.waitForID(0);
            }
            catch(InterruptedException e){
             e.printStackTrace();
            }
           }
           
           public void paint(Graphics g){
            Graphics copy = g.create(image.getWidth(this),0,image.getWidth(this),image.getHeight(this));
            
            try{
             System.out.println("g: " + g.getClip().toString());
             System.out.println("copy: " + copy.getClip().toString());
             
             g.drawImage(image,0,0,this);
             copy.drawImage(image,0,0,this);
            }
            finally{
             copy.dispose();
            }
           }
          }

          posted @ 2007-08-17 10:08 小菜 閱讀(731) | 評(píng)論 (0)編輯 收藏

               摘要: 筆者在這里將畫(huà)線,畫(huà)或填充多邊形等理解為"圖形"技術(shù),將圖片的變換,顯示理解為"圖像"技術(shù).

          相對(duì)而言,圖形技術(shù)較簡(jiǎn)單,圖像技術(shù)較復(fù)雜.下面筆者從實(shí)用的角度出發(fā),講解幾個(gè)圖像編程問(wèn)題.首先,我們看下面這個(gè)程序.

          import java.applet.*;

          import java.awt.*;  閱讀全文
          posted @ 2007-08-17 07:48 小菜 閱讀(735) | 評(píng)論 (0)編輯 收藏

          主站蜘蛛池模板: 阿合奇县| 梁山县| 社会| 丹江口市| 剑川县| 龙江县| 长寿区| 秦安县| 辽源市| 遵义县| 伊通| 中西区| 班玛县| 昂仁县| 阿克苏市| 鄂尔多斯市| 浮梁县| 政和县| 孝义市| 台中市| 鞍山市| 天水市| 陇川县| 阜南县| 循化| 台中市| 黄平县| 全椒县| 麟游县| 青岛市| 恭城| 鄂州市| 河北省| 泌阳县| 陕西省| 板桥市| 达孜县| 晋州市| 乐亭县| 漾濞| 金山区|