Debug fixes. Not for update.

This commit is contained in:
meffi@lab313.ru
2014-04-26 12:59:46 +00:00
parent b954de5b12
commit 5d477f135b
7 changed files with 314 additions and 72 deletions

View File

@@ -2,13 +2,18 @@ unit uexportimport;
interface
uses FPWritePNG, zstream, udrawtim;
uses
FPWritePNG, zstream, udrawtim;
procedure SaveImage(Surf: PDrawSurf; Indexed: Boolean; const FileName: string; PngWriter: TFPWriterPNG);
function LoadImage(const FileName: string; var Surf: PDrawSurf): Boolean;
function CreatePngWriter(ForExport: Boolean): TFPWriterPNG;
implementation
uses
FPReadPNG, Classes, BGRABitmap, FileUtil, sysutils;
function CreatePngWriter(ForExport: Boolean): TFPWriterPNG;
begin
Result := TFPWriterPNG.Create;
@@ -23,5 +28,31 @@ begin
Surf^.SaveToFileUTF8(FileName, PngWriter);
end;
function LoadImage(const FileName: string; var Surf: PDrawSurf): Boolean;
var
Reader: TFPReaderPNG;
Image: TFileStream;
begin
Result := False;
try
Reader := TFPReaderPNG.Create;
Image := TFileStream.Create(UTF8ToSys(FileName), fmOpenRead or fmShareDenyWrite);
Result := Reader.CheckContents(Image);
if Result then
begin
New(Surf);
Surf^ := TBGRABitmap.Create;
Image.Position := 0;
Surf^.LoadFromStream(Image);
end;
finally
Image.Free;
Reader.Free;
end;
end;
end.