delphi中怎样实现用xml存取bmp图片?查找了一天也没找到答案,郁闷!!!请高手帮忙!!!多谢!!!

解决方案 »

  1.   


    Function BmpStreamToStr(Stream: TMemoryStream): String;
    Var
      MS1: TMemoryStream;
      MS2: TStringStream;
    Begin
      MS1 := TMemoryStream.Create;
      MS2 := TStringStream.Create('');
      Stream.Position := 0;
      ZCompressStream(Stream, MS1, zcMax);
      MS1.Position := 0;
      Base64EnCodeStream(MS1, MS2);
      Result := MS2.DataString;
      FreeAndNil(MS2);
      FreeAndNil(MS1);
    End;
      

  2.   

    一楼已经说了,你先将图片取出来进行base64编码,然后将编码后的字符串保存到xml中,用的时候再把base64字符串转换成你的图片
      

  3.   

    一楼给出的只是图片转换成base64字符串,反过来base64字符串怎么转换成图片并显示在image控件中?
      

  4.   

    用到ZLIB和base64
    Procedure StrToBmpStream(v: OleVariant; Var Stream: TMemoryStream);
    Var
      Str: String;
      MS1: TStringStream;
      MS2: TMemoryStream;
    Begin
      If VarIsNull(v) Then Exit;
      Str := VarToStr(v);
      If Str = '' Then Exit;
      MS1 := TStringStream.Create(Str);
      MS2 := TMemoryStream.Create;
      Base64DeCodeStream(MS1, MS2);
      MS2.Position := 0;
      ZDecompressStream(MS2, Stream);
      Stream.Position := 0;
      FreeAndNil(MS2);
      FreeAndNil(MS1);
    End;Function BmpStreamToStr(Stream: TMemoryStream): String;
    Var
      MS1: TMemoryStream;
      MS2: TStringStream;
    Begin
      MS1 := TMemoryStream.Create;
      MS2 := TStringStream.Create('');
      Stream.Position := 0;
      ZCompressStream(Stream, MS1, zcMax);
      MS1.Position := 0;
      Base64EnCodeStream(MS1, MS2);
      Result := MS2.DataString;
      FreeAndNil(MS2);
      FreeAndNil(MS1);
    End;
            ms := TMemoryStream.Create;
            StrToBmpStream('这里是BASE64编码的字符', ms);
    image1.Picture.Bitmap.LoadFromStream(ms);
      MS.Clear;
      image1.Picture.Bitmap.SaveToStream(MS);
      str:=BmpStreamToStr(MS)
     将字符保存到XML即可
      

  5.   

    到盒子上下载一个NATIVEXML,里面有很详细的例子
      

  6.   

    顶楼上的
    那个将整个窗口序列化到 xml 中的例子的确很牛叉
      

  7.   

    测试中Base64DeCodeStream怎么报错啊?需要加什么单元?
      

  8.   

    用到ZLIB和base64
    ---------------------------
    不知道怎么用啊!!!测试中Base64DeCodeStream怎么报错啊?需要加什么单元?
      

  9.   

    caixinke(<<虎讯网>>hoosoon.com) 你还是回去睡觉吧