123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- {$MODE objfpc}
- uses
- SysUtils, ptc;
- {$I endian.inc}
- var
- console: IPTCConsole;
- surface: IPTCSurface;
- format: IPTCFormat;
- pixels: PUint8;
- I: Integer;
- F: File;
- begin
- try
- try
- console := TPTCConsoleFactory.CreateNew;
- {$IFDEF FPC_LITTLE_ENDIAN}
- format := TPTCFormatFactory.CreateNew(24, $00FF0000, $0000FF00, $000000FF);
- {$ELSE FPC_LITTLE_ENDIAN}
- format := TPTCFormatFactory.CreateNew(24, $000000FF, $0000FF00, $00FF0000);
- {$ENDIF FPC_LITTLE_ENDIAN}
- surface := TPTCSurfaceFactory.CreateNew(320, 200, format);
- console.open('test', surface.width, surface.height, format);
- for I := 1 to 100 do
- begin
- Writeln('test', I, '.raw');
- AssignFile(F, 'test' + IntToStr(I) + '.raw');
- Reset(F, 1);
- try
- pixels := surface.lock;
- try
- BlockRead(F, pixels^, surface.height * surface.pitch);
- finally
- surface.unlock;
- end;
- finally
- CloseFile(F);
- end;
- surface.copy(console);
- console.update;
- console.ReadKey;
- end;
- finally
- if Assigned(console) then
- console.close;
- end;
- except
- on error: TPTCError do
- { report error }
- error.report;
- end;
- end.
|