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

TImage的show圖問題

尚未結案
luckfox
一般會員


發表:34
回覆:40
積分:24
註冊:2002-10-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-10-13 15:30:19 IP:218.32.xxx.xxx 未訂閱
我利用client socket的方式,由網路收集的一張jpg的圖形,放置一段字元陣列中,然而,如何利用TImage將此字元陣列的jpeg資料show出呢
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-10-13 15:46:52 IP:203.73.xxx.xxx 未訂閱
引言: 我利用client socket的方式,由網路收集的一張jpg的圖形,放置一段字元陣列中,然而,如何利用TImage將此字元陣列的jpeg資料show出呢
luckfox 你好: (1)先把抓到的圖檔放到 TMemoryStream 裡面 (2)再利用 TJPEGImage 載入 TMemoryStream 的內容 (3)最後再把 TJPEGImage 的內容送給 TImage 顯示 (4)可以參考以下的連結文章 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=28279 -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
luckfox
一般會員


發表:34
回覆:40
積分:24
註冊:2002-10-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-10-13 19:51:20 IP:218.32.xxx.xxx 未訂閱
您好,我嘗試一下如下的方法測試,有此錯誤訊息出現 Project Project1.exe raised exception class EJPEG whit message'JPEG error #41'.Process stopped.Use Step or Run to coutinue 測試如下 TMemoryStream *ms; TJPEGImage *JpegImage=new TJPEGImage; ms=new TMemoryStream; FILE *fp; char buffer[58000]; if((fp=fopen("C:\\savefile.jpg","rb"))==NULL) return; fread(buffer,57344,1,fp); fclose(fp); ms->Write((const void *)buffer,57344); JpegImage->LoadFromStream(ms); Image1->Picture->Assign(JpegImage); 但是如果直接使用,便不會有此錯誤出現 ms->LoadFromFile("C:\\savefile.jpg","rb"); JpegImage->LoadFromStream(ms); Image1->Picture->Assign(JpegImage); 請問問題出現在哪裡呢?
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-10-13 20:28:04 IP:61.221.xxx.xxx 未訂閱
引言: 您好,我嘗試一下如下的方法測試,有此錯誤訊息出現 Project Project1.exe raised exception class EJPEG whit message'JPEG error #41'.Process stopped.Use Step or Run to coutinue 測試如下 TMemoryStream *ms; TJPEGImage *JpegImage=new TJPEGImage; ms=new TMemoryStream; FILE *fp; char buffer[58000]; if((fp=fopen("C:\\savefile.jpg","rb"))==NULL) return; fread(buffer,57344,1,fp); fclose(fp); ms->Size=57344; ms->Write((const void *)buffer,57344); ms->Position=0; JpegImage->LoadFromStream(ms); JpegImage->CompressionQuality=100; // 這行也許不用 Image1->Picture->Assign(JpegImage); 但是如果直接使用,便不會有此錯誤出現 ms->LoadFromFile("C:\\savefile.jpg","rb"); JpegImage->LoadFromStream(ms); Image1->Picture->Assign(JpegImage); 請問問題出現在哪裡呢?
luckfox 你好: 試試看加入以上標為紅色的程式碼,看看可不可以呢??< > <> 備註: 如果有問題請再提出< > --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
系統時間:2024-05-16 7:10:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!