目的就是把磁盘上的wmf进行二进制加密码。
显示时就读取磁盘上的wmf文件,然后将解密的文件写入内存区域,再将image控件指向内存区,并显示。
谢谢。。解答。

解决方案 »

  1.   

    TMemoryStream 的 LoadFromFile
    TImage        的 LoadFromStream
      

  2.   

    因为文件是加入密的,如果TmemoryStream用LoadFromFile,那么TImage.loadfromStream一定会出错的.
    TMemoryStream能不能一个字节一个字节的累积数据,完了之后再用Timage.loadfromstream
      

  3.   

    alw:TMemorystream;
    abc:file of byte;
    xx:byte;
    i:integer;
    myjpg:Timage;
    begin
     myjpg:=Timage.Create(Form1);
      alw:=TMemorystream.Create;
      i:=1;
     opendialog1.Execute;
     Assignfile(abc,opendialog1.Files[0]);
     reset(abc);
     while not eof(abc) do begin
     read(abc,xx);
     alw.Seek(i-1,soFromBeginning);
     alw.Write(xx,1);
     seek(abc,i);
     i:=i+1;
     end;
     alw.Seek(0,soFromEnd);
     image1.Picture.Bitmap.LoadFromStream(alw);
    //如果图片不是bmp,是其它类型的话,是不是用
     image1.Picture.Graphic.LoadFromFile(alw);??这是我的代码,乱乱的.我一直都不知道memorystream.seek怎么用.
      

  4.   

    其实主要是wmf,刚刚试了bmp 文件可以.可是wmf就不行了.
      

  5.   

    不用一个字节一个字节的读。
    alw.LoadFromFile(opendialog1.FileName);