Java API 分類導覽 - java.awt.Graphics2D drawImage()

Graphics2D 類別 (class) 的 drawImage() 方法 (method) 用來畫出圖片檔案。



修飾子與參數
public abstract boolean drawImage(Image img, AffineTransform xform, ImageObserver obs)
public abstract void drawImage(BufferedImage img, BufferedImageOp op, int x, int y)


drawImage() 有兩個參數 (paramenter) 版本,第一個參數版本的回傳值 (return value) 為 boolean 型態 (type) 的常數,第二個參數版本沒有回傳值。


舉例如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.imageio.*;
 
public class Graphics2DDemo04 extends Canvas {
    Image image;
     
    public static void main(String[] args) {
        Frame frame = new Frame("AWTDemo");
        frame.addWindowListener(new AdapterDemo());
        frame.setSize(510, 410);
         
        Graphics2DDemo04 canvas = new Graphics2DDemo04();
        frame.add(canvas, BorderLayout.CENTER);
         
        frame.setVisible(true);
    }
     
    public void paint(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
         
        try {
            image = ImageIO.read(new File("example.jpg"));
        }
        catch (Exception ex) {
            System.out.println("No example.jpg!!");
        }
         
        g2.drawImage(image, null, null);
    }   
}
 
/* 《程式語言教學誌》的範例程式
    檔名:Graphics2DDemo04.java
    功能:示範 Java 程式
    作者:張凱慶
    時間:西元 2012 年 3 月 */


此例在 paint() 方法中畫圖,先將 Graphics 型態的參數 g 強制轉換成 Graphics2D 型態,然後開啟圖片檔案,最後呼叫 drawImage() 畫出圖片
17
18
19
20
21
22
23
24
25
26
27
28
public void paint(Graphics g) {
    Graphics2D g2 = (Graphics2D) g;
     
    try {
            image = ImageIO.read(new File("example.jpg"));
        }
        catch (Exception ex) {
            System.out.println("No example.jpg!!");
        }
         
    g2.drawImage(image, null, null);
}


編譯後執行,結果如下



中英文術語對照
類別class
方法method
回傳值return value
型態type
參數parameter


您可以繼續參考
繪圖


相關目錄
Java API 分類導覽
Java 教材
首頁


參考資料
http://docs.oracle.com/javase/6/docs/api/java/awt/Graphics2D.html

沒有留言: