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

可以將Bitmap存入到XML裡面嗎

答題得分者是:HikaruGo
seeing
初階會員


發表:49
回覆:131
積分:41
註冊:2002-11-07

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-04-16 12:41:28 IP:220.128.xxx.xxx 訂閱
請問有辦法將一張 Bitmap 存入到 XML 中,然後再讀回來給 Image 嗎?

小弟目前是想利用一個 XML 檔案來存數張圖片及一些參數,然後再讀回來給 Image 及取回參數做處理,不知這樣可行嗎? 謝謝
HikaruGo
中階會員


發表:22
回覆:69
積分:88
註冊:2007-12-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-04-16 13:34:13 IP:61.62.xxx.xxx 訂閱
你可以使用BASE64編碼


File(binary)-->BASE64 編碼-->XML -->BASE64解碼 -->File
seeing
初階會員


發表:49
回覆:131
積分:41
註冊:2002-11-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-04-16 23:56:01 IP:123.110.xxx.xxx 訂閱
您好:
編碼已經可以編了,只是不知道編得對不對
[code cpp]
TMemoryStream* Temp_ms = new TMemoryStream() ;
AnsiString CodeString ;

Temp_ms->LoadFromFile("tmp-1.bmp") ;
Temp_ms->Position = 0 ;
Temp_ms->ReadBuffer( CodeString.c_str() , sizeof(Temp_ms) ) ;

IdBase64Encoder1->CodeString( CodeString ) ;
m_diField->NodeValue = IdBase64Encoder1->CompletedInput(); //存入 XML

[/code]
但是解碼的部份就試不出來了
[code cpp]
TMemoryStream* Temp_ms = new TMemoryStream() ;
AnsiString CodeString ;

IdBase64Decoder1->CodeString( CodeString ) ;
CodeString = IdBase64Decoder1->CompletedInput();
Temp_ms->WriteBuffer( CodeString.c_str() , CodeString.Length() ) ;
Image1->Picture->Bitmap->LoadFromStream(Temp_ms);
Temp_ms->SaveToFile("123.bmp");

[/code]
不知道問題在哪裡?另外 coding table 有需要設嗎? 謝謝您
HikaruGo
中階會員


發表:22
回覆:69
積分:88
註冊:2007-12-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-04-17 02:13:24 IP:61.62.xxx.xxx 訂閱

D,BC版的 Sample 引用INDY 套件



[code delphi]
Function DecodeString(Src:String):String;
var
Decoder:TIdDecoderMIME;
begin
Decoder:=TIdDecoderMIME.Create ;
result:=Decoder.DecodeString(Src);
Decoder.Free;
end;




ts:TStringStream;
XMLString:string;
.....

XMLString := DecodeString( FromXMLData );
ts:=TStringStream.Create(XMLString);
jpg:=TJpegImage.Create;
jpg.LoadFromStream(TS);
Image1.Picture.Assign(jpg);




[/code]


FOR C#
可以參考
Convert.ToBase64String() and Convert.FromBase64String() methods



seeing
初階會員


發表:49
回覆:131
積分:41
註冊:2002-11-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-04-17 20:46:34 IP:123.110.xxx.xxx 訂閱
您好:
請問 TIdDecoderMIME 跟 BCB 裡面的 IdBase64Decoder 是相同的元件嗎?我的 BCB6 裡面好像沒有這個元件。 謝謝您
系統時間:2024-05-05 10:52:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!