【請問】關於影像傳輸… |
|
phototin
初階會員 發表:13 回覆:30 積分:29 註冊:2002-06-15 發送簡訊給我 |
我正在作一個程式,
要把Server的Screen傳給Client,然後Show在Image元件上。 關於捉Screen的部份已經完成了,
想問的是,
不知道應該用什麼元件來傳送至Client…??
而Client在接收時,又會是接收到什麼樣的形式…??
Server是否要先存成檔案才傳送,還是可以直接傳送…??
還有,就是不知道要用何種方式傳送,才能有較佳的效能…??
(我是用ServerSocket和ClientSocket兩個元件來建立連線的。) 我是新手,試了很久都搞不出來,
還請幫忙,謝謝!
|
Jasonwong
版主 發表:49 回覆:931 積分:581 註冊:2006-10-27 發送簡訊給我 |
引言: 我正在作一個程式, 要把Server的Screen傳給Client,然後Show在Image元件上。 關於捉Screen的部份已經完成了, 想問的是, 不知道應該用什麼元件來傳送至Client…?? 而Client在接收時,又會是接收到什麼樣的形式…?? Server是否要先存成檔案才傳送,還是可以直接傳送…?? 還有,就是不知道要用何種方式傳送,才能有較佳的效能…?? (我是用ServerSocket和ClientSocket兩個元件來建立連線的。) 我是新手,試了很久都搞不出來, 還請幫忙,謝謝!我可以先建議剛在試的初期先用傳檔的模式...先將螢幕的畫面存檔...然後再傳輸檔案過去SERVER...等傳送過後...再通知SERVER去讀取檔案...如此... 不過...最好先做壓縮...否則效率不彰...
------
聰明的人,喜歡猜心;雖然每次都猜對了,卻失去了自己的心 傻氣的人,喜歡給心;雖然每次都被笑了,卻得到了別人的心 |
phototin
初階會員 發表:13 回覆:30 積分:29 註冊:2002-06-15 發送簡訊給我 |
|
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
|
phototin
初階會員 發表:13 回覆:30 積分:29 註冊:2002-06-15 發送簡訊給我 |
引言: 您可以參考這幾篇試試,RTP/RTCP的效率會比TCP/IP好一些!(如果您要傳送即是影像可能還需要一些壓縮技術,如ASF/MPEG/ MPeg4等等!) 顯示可以考慮用Directshow或VFW方式喔! http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19558 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=19430 時間就是金錢---[ 發問前請先找找舊文章]雖然看不太懂這些技術文章, 不過還是很謝謝你, 我會努力去看的…! |
axsoft
版主 發表:681 回覆:1056 積分:969 註冊:2002-03-13 發送簡訊給我 |
|
phototin
初階會員 發表:13 回覆:30 積分:29 註冊:2002-06-15 發送簡訊給我 |
嗯…當然可以,
不過我是新手,有錯誤的地方還請大家指教~。
(^_^ 有點耍大刀的感覺…。) ////////////////////////////////////////////////////////////////// //將全螢幕捉下存成bmp檔再轉成jpg的檔: //在程式開頭加上#include "jpeg.hpp",才可使用jpeg的格式
#include "jpeg.hpp" //捉取全螢幕存成bmp格式
Graphics::TBitmap *bmp = new Graphics::TBitmap;
bmp->Width = Screen->Width;
bmp->Height = Screen->Height;
bmp->PixelFormat = pf32bit; HDC hdc = ::GetWindowDC(0); ::BitBlt(bmp->Canvas->Handle, 0, 0,
Screen->Width, Screen->Height, hdc, 0, 0, SRCCOPY); //轉成jpg的格式
TJPEGImage *jpg = new TJPEGImage();
jpg->PixelFormat = jf8Bit;
jpg->CompressionQuality = 10;
jpg->Assign((TPersistent*)bmp);
jpg->Compress(); //存檔
jpg->SaveToFile ("jpg.jpg") ;
bmp->SaveToFile("bmp.bmp"); //釋放資源
ReleaseDC(Form->Handle, hdc); delete jpg;
delete bmp; ////////////////////////////////////////////////////////////////// //在TImage元件上秀JPG檔: TJPEGImage *jpg = new TJPEGImage () ; jpg->LoadFromFile("jpg.jpg") ; Image1->Picture->Bitmap->Assign(jpg); delete jpg ; //////////////////////////////////////////////////////////////////
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |