JAVA 重新抓圖的問題 |
尚未結案
|
inse
一般會員 發表:5 回覆:2 積分:1 註冊:2004-06-30 發送簡訊給我 |
各位大大好 我想利用,java 寫一個applet,會定時去讀取主機上的某個圖檔(jpg),來作成簡易 webcam 的樣子。 不過,老實說 我碰JAVA是3-4年前的事了,有些地方跟現在似乎有點不太一樣 我摸索的以前自己的程式寫了一個簡單的APPLET ,他會輪流去讀取兩個圖檔,並透過雙重緩衝區貼出來,以減少畫面重繪的影響。 但是 這個APPLET 似乎只會讀第一次圖檔,之後我換圖片、或乾脆把圖檔殺了 他也沒有任何改變,下面是我的原始擋,還請指教
mport java.awt.*; import java.applet.*; public class HelloWorld extends Applet implements Runnable { int x,x1; Graphics DrawBackScreen; // 繪製次畫面的 Graphics 實體 Image BackScreen; // 次畫面 Thread DrawThread; // 使用執行緒繪製畫面 public void init() { x = 0; x1 = 5; BackScreen = createImage(320,240); // 建立次畫面 DrawBackScreen = BackScreen.getGraphics(); // 取得次畫面的繪製類別 DrawThread = new Thread(this); } public void start() { DrawThread.start(); } public void run() { while( DrawThread != null ) { try { Thread.sleep(100); } // 延遲 30ms大約FPS可到30左右 catch(InterruptedException e){} Image image=GetCpatureImage(); if (image!=null) { DrawBackScreen.drawImage(image,0,0,this); repaint(); } } } public void stop() { DrawThread = null; } public Image GetCpatureImage() { Image img; img=getImage(getCodeBase(),"capture.jpg"); switch (x) { case 0: x=1; img=getImage(getCodeBase(),"capture00.jpg"); break; case 1: x=0; img=getImage(getCodeBase(),"capture01.jpg"); break; default: img=null; x=0; break; } return img; } public void update(Graphics g) { paint(g); } public void paint(Graphics g) { // 將次畫面貼到主畫面 g.drawImage(BackScreen,0,0,this); } }發表人 - inse 於 2005/07/04 16:56:55 |
kenon0425
一般會員 發表:5 回覆:8 積分:2 註冊:2004-04-11 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |