createlzwtest.pas 677 B

123456789101112131415161718192021222324252627282930313233343536
  1. program createlzwtest;
  2. {
  3. Small program that converts TIFF LZW compressed data to uncompressed data.
  4. (assumes the fpreadtiff DecodeLZW is correct)
  5. }
  6. {$mode objfpc}
  7. {$h+}
  8. uses sysutils,classes,fpreadtiff;
  9. Var
  10. M : TBytesStream;
  11. F : TFileStream;
  12. B : PByte;
  13. aSize : PtrInt;
  14. begin
  15. If ParamCount<>2 then
  16. begin
  17. Writeln('Usage : ',ExtractFileName(ParamStr(0)),' compressedfile uncompressedfile');
  18. Halt(1);
  19. end;
  20. M:=TBytesStream.Create([]);
  21. try
  22. M.LoadFromFile(Paramstr(1));
  23. DecompressLZW(M.Memory,M.Size,B,aSize);
  24. F:=TFileStream.Create(ParamStr(2),fmCreate);
  25. F.WriteBuffer(B^,aSize);
  26. finally
  27. F.Free;
  28. M.Free;
  29. end;
  30. end.