全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1359
推到 Plurk!
推到 Facebook!

轉jpeg和savetostream的問題謝謝大家

尚未結案
wun
一般會員


發表:19
回覆:20
積分:7
註冊:2002-08-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-02-20 23:04:38 IP:203.203.xxx.xxx 未訂閱
void __fastcall TForm1::Timer1Timer(TObject *Sender) { HDC dc; TMemoryStream *BmpStream ; TJPEGImage *jp = new TJPEGImage(); Graphics::TCanvas *ScreenCanvas = new Graphics::TCanvas TRect rect; BmpStream = new TMemoryStream(); dc = GetDC(0); ScreenCanvas->Handle = Form1->dc; Image1->Picture->Bitmap->Width = Screen->Width; Image1->Picture->Bitmap->Height= Screen->Height; rect = Rect(0,0,Screen->Width, Screen->Height); Image1->Picture->Bitmap->Canvas->CopyRect(Form1->rect, Form1- >ScreenCanvas, Form1->rect); jp->CompressionQuality = 20; // 設定圖像解析度(檔案大小) jp->Assign(Form1->Image1->Picture->Bitmap); jp->SaveToStream(BmpStream); } 這是我寫的一段程式...是要Timer每三秒在client抓取螢幕的畫面然後存成Stream(savetostream)然後再傳server端,但是為什麼每次在client抓圖,轉成jpeg和savetostream的時候..電腦都會發生Delay的現象..滑鼠都會有delay的現象.這是為什麼呢??是在轉jpeg的時候還是在savetostream的時候出了問題呢...有沒有辨法避免這種Delay的現象呢????謝謝大家...
fishxyz
一般會員


發表:5
回覆:6
積分:2
註冊:2003-01-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-02-21 22:11:03 IP:61.56.xxx.xxx 未訂閱
當你用 Image1->Picture->Bitmap->Canvas->CopyRect(Form1->rect, Form1- >ScreenCanvas, Form1->rect); 的時候, 抓取的檔案是 BITMAP 速度應該算是快的 您也可以用BitBlt也是一樣, 甚至更快 . 問題出在TJPEGImage的問題上 當jp->SaveToStream的時候 或是SaveToFile, Compress都會變慢 因為jpeg需要時間去做資料壓縮的運算 所以會變慢.... 整個畫面的資料也挺大的, 所以時間會DELAY 有個解決方式就是 把畫面切成好幾個小區塊 然後再去壓縮成JPEG就可以了 問題會解決掉許多!!!!!!!! 祝好運!
wun
一般會員


發表:19
回覆:20
積分:7
註冊:2002-08-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-02-21 22:50:09 IP:203.203.xxx.xxx 未訂閱
引言: 當你用 Image1->Picture->Bitmap->Canvas->CopyRect(Form1->rect, Form1- >ScreenCanvas, Form1->rect); 的時候, 抓取的檔案是 BITMAP 速度應該算是快的 您也可以用BitBlt也是一樣, 甚至更快 . 問題出在TJPEGImage的問題上 當jp->SaveToStream的時候 或是SaveToFile, Compress都會變慢 因為jpeg需要時間去做資料壓縮的運算 所以會變慢.... 整個畫面的資料也挺大的, 所以時間會DELAY 有個解決方式就是 把畫面切成好幾個小區塊 然後再去壓縮成JPEG就可以了 問題會解決掉許多!!!!!!!! 祝好運! 那要如何切呢??謝謝...
發表人 - wun 於 2003/02/21 22:51:07
flyup
資深會員


發表:280
回覆:508
積分:385
註冊:2002-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-02-22 23:08:08 IP:61.216.xxx.xxx 未訂閱
請參考 vnc 的 畫面傳送方法    
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#5 引用回覆 回覆 發表時間:2007-04-26 13:52:52 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-05-03 15:31:27
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!