请问如何通过Delphi将许多JPG图片合并为一个文件,扩展名任意.
浏览时,再通过delphi把众多jpg图片从这个文件中解析出来.

解决方案 »

  1.   

    这儿有一个思路:用delphi调用系统自带的copy命令将文件连起来,然后用Delphi通过读二进制文件的方法,判断是否是jpg文件结尾,读一各结尾标示符就通过文件流的方法打开图片。
    只是想法,good lucky!
      

  2.   

    同意楼上。不过你的文件的头上必须有一个索引数据,比如第一个字节是当前文件的个数,比如有5个,然后下面依次有5组数据分别存储每一个图片的大小,这样就可以将知道每一个图片在这个文件中的位置和大小了。
    我一般使用Stream,先申请一个MemoryStream,然后指定大小,然后将文件数据都写到Stream中,最后使用Stream.SaveToFile。
    在载入的时候同样首先载入,然后解析,分别存储到一些小的Stream中。当然,代码要你自己写了。在使用Stream的时候比较方便,因为可以直接对指针进行操作,代码非常像C++,代码如下:
    bFrom,bTo: pByte;
    MemoryStream1,MemoryStream2: TMemoryStream;
    begin
      bFrom:=MemoryStream1.Memory
      bTo:=MemoryStream2.Memory
      for i:=1 to MemoryStream1.Size do
      begin
        bTo^:=bFrom^
        inc(bTo);
        inc(BFrom)
      end;
    end
    大概是这个样子,你自己写写看。