怎么将image 中的图像保存 到ini 文件中,且能读取出来
如何将image 中的图像保存 到ini 文件中,且能读取出来?
如何将image 中的图像保存 到ini 文件中,且能读取出来?
------解决方案--------------------
保存: Image1.Picture.SaveToFile('D:\TEST.INI');
打开:
RenameFile('D:\TEST.INI','D:\TEST.BMP');
Image1.Picture.LoadFromFile('D:\TEST.BMP');
------解决方案--------------------
那么奇怪的要求,满足你(简直有点...)
其实也很简单,根本不管你是不是ini文件
如何将image 中的图像保存 到ini 文件中,且能读取出来?
------解决方案--------------------
保存: Image1.Picture.SaveToFile('D:\TEST.INI');
打开:
RenameFile('D:\TEST.INI','D:\TEST.BMP');
Image1.Picture.LoadFromFile('D:\TEST.BMP');
------解决方案--------------------
那么奇怪的要求,满足你(简直有点...)
其实也很简单,根本不管你是不是ini文件
- Delphi(Pascal) code
//保存 procedure TForm1.Button1Click(Sender: TObject); var bit:TBitmap; begin bit:=TBitmap.Create; bit.LoadFromFile('乌龙哈里.bmp'); bit.SaveToFile('photo.ini'); bit.Free; end; //读取 procedure TForm1.Button2Click(Sender: TObject); var bit:TBitmap; begin bit:=TBitmap.Create; bit.LoadFromFile('photo.ini'); Canvas.Brush.Bitmap:=bit; Canvas.Rectangle(0,0,bit.Width,bit.Height); bit.Free; end;
------解决方案--------------------
试验了一下,
- Delphi(Pascal) code
procedure TForm1.Button1Click(Sender: TObject); var myIni:TIniFile; myStream:TMemoryStream; begin myIni:=TIniFile.Create('.\photo.ini'); myStream:=TMemoryStream.Create; myStream.LoadFromFile('乌龙哈里.bmp'); myIni.WriteBinaryStream('myphoto','20081016',myStream); myStream.Free; myIni.Free; end; procedure TForm1.Button2Click(Sender: TObject); var myIni:TIniFile; myStream:TMemoryStream; bit:TBitmap; begin myIni:=TIniFile.Create('.\photo.ini'); myStream:=TMemoryStream.Create; myIni.ReadBinaryStream('myphoto','20081016',myStream); bit:=TBitmap.Create; bit.LoadFromStream(myStream); Canvas.Brush.Bitmap:=bit; Canvas.Rectangle(0,0,bit.Width,bit.Height); myStream.Free; myIni.Free; bit.Free; end;
------解决方案--------------------
用NativeXML将图片序列化为XML!
读取时再反序列化!
具体例子:
- Delphi(Pascal) code
var ADoc: TNativeXml; AWriter: TsdXmlObjectWriter; begin // Create XML document with root named "Root" ADoc := TNativeXml.CreateName('Root'); try // We set the XML document to UTF8 so widestrings are preserved ADoc.Utf8Encoded := True; ADoc.EncodingString := 'UTF-8'; // Create Object writer AWriter := TsdXmlObjectWriter.Create; try // Write the image object as child of the XML document's root node AWriter.WriteComponent(ADoc.Root, Image1, Self);//Image1为显示图片的控件名称 finally AWriter.Free; end; // Display resulting XML in memo ADoc.XmlFormat := xfReadable; mmXml.Clear; mmXml.Lines.Text := ADoc.WriteToString; finally ADoc.Free; end; end;