請問互傳畫面時發生jepg#60 的錯誤? |
答題得分者是:skcc
|
Jrry
一般會員 發表:4 回覆:4 積分:1 註冊:2002-11-19 發送簡訊給我 |
網路傳畫面的程式已經寫的差不多了,我們是用NUMUDP的元件來傳送的..
不過每次在傳畫面時就會不定時的產生Jepg#60的錯誤,我曾經使用try.....catch的方式來欄截錯誤,但是錯誤仍然會發生..... TMemoryStream *imgstream = new TMemoryStream();
TJPEGImage *jpeg = new TJPEGImage;
...
...
...
jpeg->LoadFromStream(imgstream);
Image1->Picture->Bitmap->Assign(jpeg);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-->在此發生#60錯誤
...
...
請問要如何欄截這個錯誤的訊息?......或者如何將image初始化?
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: 網路傳畫面的程式已經寫的差不多了,我們是用NUMUDP的元件來傳送的.. 不過每次在傳畫面時就會不定時的產生Jepg#60的錯誤,我曾經使用try.....catch的方式來欄截錯誤,但是錯誤仍然會發生..... TMemoryStream *imgstream = new TMemoryStream(); TJPEGImage *jpeg = new TJPEGImage; ... ... ... jpeg->LoadFromStream(imgstream); Image1->Picture->Bitmap->Assign(jpeg); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-->在此發生#60錯誤 ... ... 請問要如何欄截這個錯誤的訊息?......或者如何將image初始化?Jrry 你好: 上面的 sample code 我已經試過了 並沒有辦法模擬出你所說的那種情形 方便再提供更詳細的資訊嗎?? 備註: 請問你在 > > --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
Jrry
一般會員 發表:4 回覆:4 積分:1 註冊:2002-11-19 發送簡訊給我 |
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
|
tender
初階會員 發表:23 回覆:90 積分:37 註冊:2002-09-26 發送簡訊給我 |
我在localhost下也會發生耶!!?? 請問大大,我現在也需要寫有關這一段的project,
想請問您,為什麼我在LocalHost下卻 error message 不段呢?? Client:
我顯用 Bmp 將會面擷取
然後 用 jpg->Assign(bmp);
沒壓縮 然後 jpg->SaveToStream(MyStream);
MyStream->Point = 0;
然後 用 NMUDP->SendStream(MyStream);
Server:
用 NMUDP->ReadStream(SerMyStream);
用 sjpg->LoadFromStream(SerMyStream);
bmp->Assign(sjpg);
Image->Picture->Bitmap->Assign(bmp); 去無法看到圖呢?????
救人喔喔喔喔喔!!!!
|
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
|
skcc
中階會員 發表:36 回覆:96 積分:88 註冊:2002-08-28 發送簡訊給我 |
這些傳圖的問題,請參考我在 "Programer 深度論壇" 中的答案:
http://forum.vclxx.org/topic.php?TOPIC_ID=16883&FORUM_ID=54&CAT_ID=3&Topic_Title=%BD%D0%B1%D0+xingxilong+%A5S&Forum_Title=Internet 若還有問題,歡迎討論。 Anthony Lee
|
tender
初階會員 發表:23 回覆:90 積分:37 註冊:2002-09-26 發送簡訊給我 |
|
tender
初階會員 發表:23 回覆:90 積分:37 註冊:2002-09-26 發送簡訊給我 |
|
skcc
中階會員 發表:36 回覆:96 積分:88 註冊:2002-08-28 發送簡訊給我 |
引言: 上面的範例試過了,but.... 可以請問嗎?? 我用NMUDP直接傳TMemoryStream 都會失敗(出現錯誤) 或者只有收到少許的bytes而已,原圖也沒問題呀!! 直接用一buffer[1024]讀stream又會因為 '\0' 而祇讀到6個bytes而已 why?? ^_^ >>< face="Verdana, Arial, Helvetica"> 我的例子中,是以 NMUDP 的 SendBuffer 來作的。你可在受控端,看到有多少個字節已傳送。至於 SendStream 方法,我還沒有試過,待我試完再報告吧。 Anthony Lee 發表人 - skcc 於 2002/12/27 17:02:12 |
skcc
中階會員 發表:36 回覆:96 積分:88 註冊:2002-08-28 發送簡訊給我 |
引言: 網路傳畫面的程式已經寫的差不多了,我們是用NUMUDP的元件來傳送的.. 不過每次在傳畫面時就會不定時的產生Jepg#60的錯誤,我曾經使用try.....catch的方式來欄截錯誤,但是錯誤仍然會發生..... TMemoryStream *imgstream = new TMemoryStream(); TJPEGImage *jpeg = new TJPEGImage; ... ... ... jpeg->LoadFromStream(imgstream); Image1->Picture->Bitmap->Assign(jpeg); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-->在此發生#60錯誤 ... ... 請問要如何欄截這個錯誤的訊息?......或者如何將image初始化? 引言: skcc 回覆主題:【問題】請問互傳畫面時發生jepg#60 的錯誤? http://delphi.ktop.com.tw/link.asp?TOPIC_ID=23502請看看你的 Jpeg size 是否太大,若然太大又要在限定時間來傳的話,網絡會因為傳輸不勝負荷,因而不能完全傳輸整個 JPEG Stream ,所以會得出 Error #60。你可以做的是: 1. 減少 JPEG->CompressionQuality; //1-100 的值。 2. 降低 Color Bit 數。 3. 降低需要傳輸的 hit rate 。 4. 增加硬體需求。 因為以一個1024x768以65536種顏色並以 CompressionQuality=100 來傳的話,大約會造成1.6Mb的 data 在傳送(據我測試)。 所以你應變更 Quality 的值來減低網絡的傳送負荷。(若以 Quality = 10 來傳的話,Stream Size 只是幾十kb而已。) 補充說明: 另外 CompressionQuality 的有效範圍為: 1 ~ 100 還有執行 Assign(..) 之後,一定要執行 jpeg->Compress(),否則 CompressionQuality 不會生效。 Anthony Lee 發表人 - skcc 於 2002/12/27 23:08:43 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |