fpc/packages/fcl-image/examples/xwdtobmp.pas
sekelsenmat 5f2f4a8cbb Adds initial support to read xwd image format
git-svn-id: trunk@12859 -
2009-03-05 16:22:57 +00:00

65 lines
1.1 KiB
ObjectPascal

{
Converts a xwd image to a bpm image
Usage: xwdtobmp [source] [dest]
Author: Felipe Monteiro de Carvalho
License: Public domain
}
program xwdtobmp;
{$ifdef fpc}
{$mode objfpc}{$H+}
{$endif}
{$ifndef fpc}
{$define win32}
{$endif}
{$ifdef win32}
{$apptype console}
{$endif}
uses FPWriteBMP, FPReadXWD, classes, FPImage, sysutils;
var
img : TFPMemoryImage;
reader : TFPCustomImageReader;
Writer : TFPCustomimageWriter;
ReadFile, WriteFile, WriteOptions : string;
begin
if ParamCount <> 2 then
begin
WriteLn('Usage: xwdtobmp [source] [dest]');
Exit;
end;
try
writeln ('Initing');
Reader := TFPReaderXWD.Create;
Writer := TFPWriterBMP.Create;
TFPWriterBMP(Writer).BitsPerPixel:=32;
img := TFPMemoryImage.Create(0,0);
img.UsePalette:=false;
ReadFile := ParamStr(1);
WriteFile := ParamStr(2);
writeln ('Reading image');
img.LoadFromFile (ReadFile, Reader);
writeln ('Writing image');
img.SaveToFile (WriteFile, Writer);
writeln ('Clean up');
Reader.Free;
Writer.Free;
Img.Free;
except
on e : exception do
writeln ('Error: ',e.message);
end;
end.