blob: 44a6e3685b5a84719446c75c16a23b3ce3e30485 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
{
Demonstration program for the ImageMagick Library
This program was converted from c by: Felipe Monteiro de Carvalho
Usage: Just execute the program. It will resize the image.png image
on it's directory to fit (106, 80) and convert it to a jpg.
Dez/2005
}
program wanddemo;
{$mode objfpc}{$H+}
uses SysUtils, magick_wand, ImageMagick;
procedure ThrowWandException(wand: PMagickWand);
var
description: PChar;
severity: ExceptionType;
begin
description := MagickGetException(wand, @severity);
WriteLn(Format('An error ocurred. Description: %s', [description]));
description := MagickRelinquishMemory(description);
Abort;
end;
var
status: MagickBooleanType;
wand: PMagickWand;
begin
{ Read an image. }
MagickWandGenesis;
wand := NewMagickWand;
try
status := MagickReadImage(wand, 'image.png');
if (status = MagickFalse) then ThrowWandException(wand);
{ Turn the images into a thumbnail sequence. }
MagickResetIterator(wand);
while (MagickNextImage(wand) <> MagickFalse) do
MagickResizeImage(wand, 106, 80, LanczosFilter, 1.0);
{ Write the image as MIFF and destroy it. }
status := MagickWriteImages(wand, 'image.jpg', MagickTrue);
if (status = MagickFalse) then ThrowWandException(wand);
finally
wand := DestroyMagickWand(wand);
MagickWandTerminus;
end;
end.
|