mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-06-21 13:18:18 +02:00
65 lines
1.1 KiB
ObjectPascal
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.
|
|
|