请问如何将图片存成文本,如十六进制的文本(可逆)?(50分)

  • 主题发起人 主题发起人 huaqin
  • 开始时间 开始时间
H

huaqin

Unregistered / Unconfirmed
GUEST, unregistred user!
请问如何将图片存成文本,如十六进制的文本(可逆)?
 
图片在计算机里面表现就是十六进制代码,用stream读出来再保存为文本文件
 
是在数据库中么?
存:FieldByName('photo').Assign(Image1.Picture.Bitmap);
取:Image1.Picture.Bitmap.Assign(TBlobField(FieldByName('photo'))) ;
 
用FileOpen,FileCreate,FileRead,filerite,FileClose进行对文件的所有操作,
先读出各字节,然后把各字节用InttoHex变成文本,写进目标文件
var
fHan1,fHan2:THandle;
buf:PChar;
I:Integer;
fSize:DWORD;

fHan:=FileOpen(srcFile,fmOpenRead);
if fHan<1 Then
.....
GetMemo(buf,1024);
....
fSize:=FileSeek(fHan,0,2);
For I:=0 to fSize div 1024 do
FileRead(fHan1,buf,1024);
For J:=0 to 1024 do
inttohex(buf[J],2);
....
FileWrite ..
...

FileClose


 
lvxq能否给完整的源代码,要不然我看了我会晕倒的.
 
就是把你的圖片一個一個字附的讀出, 再用InttoHex把字附內容轉為16進制...再一個個的寫盤....思路就這樣...代碼不難寫吧...就是幾個循環...
 
后退
顶部