drawImage函數怎麼用?
大家好。我是新手哦!我準備學java,但是最近有個問題一直讓我很郁悶。想請教一下各位前輩。
在繪畫圖檔(應用drawImage函數),我是怎麼樣也繪畫不出,編譯運作都沒錯,檔案路徑我也設對了的呀。就是我按照一個源程式抄下來,還是畫不出。想問一下,這是什麼原因呀?----------------解決方案--------------------------------------------------------
好像你一個人申請了好幾個ID啊。。。這樣的馬甲太過分吧!!!
----------------解決方案--------------------------------------------------------
也不是好多 我很少上論壇的,隻是我郵箱和我ID一樣, 我想學好java,感覺這論壇很有用 ,是以就加入你們了 請多指教呀?
----------------解決方案--------------------------------------------------------
樓主用馬甲确實不厚道,以後要注意啊(做人就要光明正大:)!
關于Image的使用,我貼一個代碼吧,希望對你有些用處:
程式代碼:
import java.awt.*;
import java.io.*;
import javax.swing.*;
import javax.imageio.*;
class MyPanel extends JPanel {
private Image image;
private static final long serialVersionUID = 100001L;
MyPanel() {
try {
image = ImageIO.read(new File(\"test.jpg\"));
} catch(IOException e) {
e.printStackTrace();
}
}
public void paintComponent(Graphics g) {
super.paintComponent(g);
if (image == null) return;
g.drawImage(image, 0, 0, null);
}
}
public class Test {
public static void main(String[] args) {
JFrame frame = new JFrame(\"Image Test\");
frame.getContentPane().add(new MyPanel());
frame.setSize(400, 400);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}
----------------解決方案--------------------------------------------------------
javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(ImageIO.java:1279)
at MyPanel.<init>(MyImage.java:12)
at Test.main(MyImage.java:29)
我運作的時候就發生這樣的異常。我想可能是我沒半圖檔放對地方 是不是呀?
----------------解決方案--------------------------------------------------------
image = ImageIO.read(new File("test.jpg");
-------------------------------------------
你把上面test.jpg換成自己需要的圖檔絕對路徑就可以了;
要不然直接把圖檔和程式放在同一個目錄,然後直接寫圖檔名。
----------------解決方案--------------------------------------------------------
好像有一種方式是image = Component.getToolkit().getImage("test.file");
這種方法也可以嗎?
----------------解決方案--------------------------------------------------------
drawImage方法是一個顯示圖像的方法,并不是畫圖像
----------------解決方案--------------------------------------------------------