Difference between revisions of "PascalMagick"

From Lazarus wiki
Jump to navigationJump to search
(26 intermediate revisions by 10 users not shown)
Line 4: Line 4:
  
 
==== About ImageMagick ====
 
==== About ImageMagick ====
 +
[http://www.imagemagick.org ImageMagick] is a free software suite developed to create, edit, and compose bitmap images. It supports a huge variety of formats (over 200) including formats like GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Images can be cropped, colors can be changed, various effects can be applied, images can be rotated and combined, and text, lines, polygons, ellipses and Bézier curves can be added to images and stretched and rotated.
  
 
+
The suite runs on all major operating systems and it can also be used from the command line and its command line tools package is one of Linux standard packages, being distributed with many distributions.
[http://www.imagemagick.org ImageMagick] is a free software suite developed to create, edit, and compose bitmap images. It supports a huge variety of formats (over 90) including formats like GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Images can be cropped, colors can be changed, various effects can be applied, images can be rotated and combined, and text, lines, polygons, ellipses and Bézier curves can be added to images and stretched and rotated.
 
 
 
The suite runs on all major operating systems and it can also be used from the command line and it´s command line tools package is one of Linux standard packages, being distributed with many distributions.
 
  
 
Features and Capabilities:
 
Features and Capabilities:
 
 
* Convert an image from one format to another (e.g. PNG to JPEG)
 
* Convert an image from one format to another (e.g. PNG to JPEG)
 
* Resize, rotate, sharpen, color reduce, or add special effects to an image
 
* Resize, rotate, sharpen, color reduce, or add special effects to an image
Line 23: Line 20:
  
 
==== ImageMagick Book ====
 
==== ImageMagick Book ====
 
 
[http://www.packtpub.com/imagemagick/book ImageMagick Tricks] This fast paced and practical tutorial is packed with examples of photo manipulations, logo creation, animations, and complete web projects. With this book up your sleeve, you'll be creating spellbinding images from code in no time.
 
[http://www.packtpub.com/imagemagick/book ImageMagick Tricks] This fast paced and practical tutorial is packed with examples of photo manipulations, logo creation, animations, and complete web projects. With this book up your sleeve, you'll be creating spellbinding images from code in no time.
  
 
==== About MagickWand ====
 
==== About MagickWand ====
 
 
 
The [http://www.imagemagick.org/script/magick-wand.php MagickWand API] is the recommended interface by the ImageMagick team. It is an easy to use programming interface for using the suite.  
 
The [http://www.imagemagick.org/script/magick-wand.php MagickWand API] is the recommended interface by the ImageMagick team. It is an easy to use programming interface for using the suite.  
  
 
==== About MagickCore ====
 
==== About MagickCore ====
 
 
The MagickCore API is a low-level interface for ImageMagick.
 
The MagickCore API is a low-level interface for ImageMagick.
  
 
==== About PascalMagick ====
 
==== About PascalMagick ====
 
 
This port is a translation of the c header files for both MagickWand and Magick Core.
 
This port is a translation of the c header files for both MagickWand and Magick Core.
 
  
 
=== Screenshot ===
 
=== Screenshot ===
 
  
 
=== Authors ===
 
=== Authors ===
 
 
[[User:Sekelsenmat|Felipe Monteiro de Carvalho]]
 
[[User:Sekelsenmat|Felipe Monteiro de Carvalho]]
  
Line 50: Line 39:
  
 
=== License ===
 
=== License ===
 
 
BSD-style and compatible with the GPL.
 
BSD-style and compatible with the GPL.
  
Line 56: Line 44:
  
 
=== Download ===
 
=== Download ===
 +
{{Note|PascalMagick is included in all recent FPC releases. There is no need to download it}}
  
 +
==== Old versions ====
 
PascalMagick 0.4 is available here: http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=174103&release_id=431432
 
PascalMagick 0.4 is available here: http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=174103&release_id=431432
  
Status: Magick Wand headers are complete and working on both Windows and Linux.
+
For old FPC versions, you can download the subversion version of this project using this command:
 +
<syntaxhighlight lang=bash>
 +
svn checkout http://svn.freepascal.org/svn/fpc/trunk/packages/base/imagemagick imagemagick
 +
</syntaxhighlight>
 +
 
 +
=== Status ===
 +
Magick Wand headers are complete and working on both Windows and Linux.
 +
 
 +
{{Warning|MagickWand probably updated their headers in an incompatible way; current ImageMagick compressiontypes are incompatible with those in FPC < 2.7.1; see {{MantisLink|26723}} which also contains a workaround. This may apply to more ImageMagick consts, enums and function}}
  
 
=== Installation ===
 
=== Installation ===
 
 
The current version of PascalMagick works on Windows and Linux. Beta testers are necessary for the Mac OS X version.
 
The current version of PascalMagick works on Windows and Linux. Beta testers are necessary for the Mac OS X version.
  
 
To start with, install ImageMagick binaries from the official website: http://www.imagemagick.org/script/binary-releases.php
 
To start with, install ImageMagick binaries from the official website: http://www.imagemagick.org/script/binary-releases.php
  
Now download and unzip PascalMagick package (Instructions on the Download section above).
+
Now make sure the PascalMagick package is installed (Instructions on the [[#Download]] section above).
  
To check that everything is working, open the PascalMagick/wand/wanddemo.lpi project. Now go to the Project --> "Compiler Options dialog" and change the "Other Units" field to point to "../magick", so it can find the PascalMagick/magick/ImageMagick.pas file. After this you can compile and run the test program.
+
To check that everything is working, open the packages\imagemagick\examples\wanddemo.lpr project under your FPC directory. Now go to the Project --> "Compiler Options dialog" and change the "Other Units" field to point to "../magick", so it can find the PascalMagick/magick/ImageMagick.pas file. After this you can compile and run the test program.
  
If the program is working, it will load the image.png image located on the same directory as he is, resize it and then save it as a jpg called image.jpg.
+
If the program is working, it will load the image.png image located on the same directory, resize it and then save it as a jpg called image.jpg.
  
One Extra step is necessary on Linux: Rename the image.PNG to image.png due to case issues.
+
One extra step is necessary on Linux: Rename the image.PNG to image.png due to case issues.
  
 
=== Demonstration program 1 ===
 
=== Demonstration program 1 ===
  
<pre>
+
<syntaxhighlight lang="pascal">
 
{
 
{
   Demonstration program for the ImageMagick Library
+
   Demonstration program for the ImageMagick Library.
  
   This program was converted from c by: Felipe Monteiro de Carvalho
+
   This program was converted from C by Felipe Monteiro de Carvalho.
  
 
   Usage: Just execute the program. It will resize the image.png image
 
   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.
+
   on its directory to fit (106, 80) and convert it to a jpg.
 
    
 
    
 
   Dez/2005
 
   Dez/2005
Line 93: Line 90:
 
{$mode objfpc}{$H+}
 
{$mode objfpc}{$H+}
  
uses SysUtils, magick_wand, ImageMagick;
+
uses  
 +
  SysUtils, magick_wand, ImageMagick;
  
 
procedure ThrowWandException(wand: PMagickWand);
 
procedure ThrowWandException(wand: PMagickWand);
Line 138: Line 136:
 
   end;
 
   end;
 
end.
 
end.
</pre>
+
</syntaxhighlight>
  
 +
=== Procedures to load images to a Lazarus TBitmap with ImageMagick  ===
 +
Source:
 +
http://lazarus.freepascal.org/index.php/topic,20016.msg114885.html#msg114885
  
=== Subversion ===
+
<syntaxhighlight lang="pascal">
 +
unit magicklcl;
  
You can download the subversion version of this project using this command:
+
{$mode objfpc}{$H+}
  
svn checkout http://svn.freepascal.org/svn/fpc/trunk/packages/base/imagemagick imagemagick
+
interface
  
You can also download the full fpc 2.1.1 repository and it will be included.
+
uses
 +
  Classes, SysUtils, Graphics;
  
=== Bug Reporting/Feature Request ===
+
procedure LoadMagickBitmap(FileName: string; Bmp: TBitmap); overload;
 +
procedure LoadMagickBitmap(Strm: TMemoryStream; Bmp: TBitmap); overload;
  
Tests are necessary to verify if the bindings work with all versions of ImageMagick.
+
implementation
  
You can post Bug Reports / Feature Requests here:
+
uses magick_wand, ImageMagick, IntfGraphics, FPimage, LazUTF8;
  
----
+
procedure LoadMagickBitmapWand(Wand: PMagickWand; Bmp: TBitmap);
'''Bug 1'''
+
var
 +
  img: Pimage;
 +
  pack: PPixelPacket;
 +
  limg: TLazIntfImage;
 +
  i, j, wi, he: integer;
 +
  colo: TFPColor;
 +
begin
 +
  img := GetImageFromMagickWand(wand);
 +
  he := MagickGetImageHeight(wand);
 +
  wi := MagickGetImageWidth(wand);
 +
  limg := TLazIntfImage.Create(0, 0);
 +
  try
 +
    limg.DataDescription := GetDescriptionFromDevice(0, wi, he);
 +
    pack := GetAuthenticPixels(img, 0, 0, wi, he, nil);
 +
    for j := 0 to he - 1 do
 +
      for i := 0 to wi - 1 do
 +
      begin
 +
        colo.red := pack^.red;
 +
        colo.green := pack^.green;
 +
        colo.blue := pack^.blue;
 +
        colo.alpha := pack^.opacity;
 +
        limg.Colors[i, j] := colo;
 +
        Inc(pack);
 +
      end;
 +
    Bmp.LoadFromIntfImage(limg);
 +
  finally
 +
    limg.Free;
 +
  end;
 +
end;
  
There is an error in pixel_iterator.inc
+
procedure LoadMagickBitmap(FileName: string; Bmp: TBitmap);
The correct declaration is
+
var
function NewPixelIterator(wand: PMagickWand): PPixelIterator; cdecl; external WandExport;
+
  wand: PMagickWand;
 +
  status: MagickBooleanType;
 +
  description: PChar;
 +
  severity: ExceptionType;
 +
begin
 +
  wand := NewMagickWand;
 +
  try
 +
    status := MagickReadImage(wand, PChar(UTF8ToSys(FileName)));
 +
    if (status = MagickFalse) then
 +
    begin
 +
      description := MagickGetException(wand, @severity);
 +
      raise Exception.Create(Format('An error ocurred. Description: %s',
 +
        [description]));
 +
      description := MagickRelinquishMemory(description);
 +
    end else LoadMagickBitmapWand(wand, Bmp);
 +
  finally
 +
    wand := DestroyMagickWand(wand);
 +
  end;
 +
end;
  
also the following declarations should be added
+
procedure LoadMagickBitmap(Strm: TMemoryStream; Bmp: TBitmap);
function PixelGetNextIteratorRow(iterator: PPixeliterator; var wandCount : Cardinal) : PPPixelWand; cdecl; external WandExport;
+
var
 +
  wand: PMagickWand;
 +
  status: MagickBooleanType;
 +
  description: PChar;
 +
  severity: ExceptionType;
 +
begin
 +
  wand := NewMagickWand;
 +
  try
 +
    Strm.Position := 0;
 +
    status := MagickReadImageBlob(wand, Strm.Memory, Strm.Size);
 +
    if (status = MagickFalse) then
 +
    begin
 +
      description := MagickGetException(wand, @severity);
 +
      raise Exception.Create(Format('An error ocurred. Description: %s',
 +
        [description]));
 +
      description := MagickRelinquishMemory(description);
 +
    end else LoadMagickBitmapWand(wand, Bmp);
 +
  finally
 +
    wand := DestroyMagickWand(wand);
 +
  end;
 +
end;
  
function PixelGetPreviousIteratorRow(iterator: PPixeliterator; var wandCount : Cardinal) : PPPixelWand; cdecl; external WandExport;
+
initialization
 +
  MagickWandGenesis;
  
Cheers,
+
finalization;
Todd.
+
  MagickWandTerminus;
  
'''Status''': Fixed on 0.3
+
end.
 +
</syntaxhighlight>
  
----
+
=== Bug Reporting/Feature Request ===
'''Bug 2'''
+
Tests are necessary to verify if the bindings work with all versions of ImageMagick.
 
 
There is a problem in "magick_wand.pas" and "ImageMagick.pas": the compiler option "{$PACKRECORDS C}" must be in the "{$ifdef FPC}[...]{$endif}". Otherwise the units do not compile with Delphi (Delphi 7 in my case).
 
  
Best wishes, Marc Geldon ([http://www.proitsystems.de PRO IT SYSTEMS])
+
Please post Bug Reports / Feature Requests in the discussion page.
 
 
----
 
'''Bug 3'''
 
 
 
your definition of "MagickGetImagePage" in magick_image.inc:
 
 
 
<pre>function MagickGetImagePage(wand: PMagickWand; width, height: PCardinal; x, y: Integer): MagickBooleanType; cdecl; external WandExport;</pre>
 
 
 
correct definition (x and y are "PInteger"!):
 
 
 
<pre>function MagickGetImagePage(wand: PMagickWand; width, height: PCardinal; x, y: PInteger): MagickBooleanType; cdecl; external WandExport;</pre>
 
 
 
Best wishes, Marc Geldon ([http://www.proitsystems.de PRO IT SYSTEMS])
 
 
 
----
 
'''Bug 4'''
 
 
 
ImageMagick 6.2.7 (don't know exactly what version) introduced a few changes in MagickWand record and others. Also, a few variable definitions were incorrectly declared, and some function imports missed the "cdecl", so they didn't work (like NewMagickWand()). I've fixed all this issues. Can I upload the changes somewhere?
 
 
 
Best regards, Arcnor
 
 
 
: Hello, you can send it to me, and I´ll apply the changes. My e-mail is felipemonteiro.carvalho@gmail.com By the way, did you correct bugs 2 and 3 also? thanks a lot --[[User:Sekelsenmat|Sekelsenmat]] 05:07, 8 June 2006 (CEST)
 
 
 
----
 
'''Bug 5'''
 
 
 
MagickNewImage parameters convention is cdecl.
 
 
 
Correct definition of MagickNewImage in magick_image.inc:
 
 
 
<pre>function MagickNewImage(wand: PMagickWand; const columns, rows: Cardinal;
 
const background: PPixelWand): MagickBooleanType; cdecl; external WandExport;</pre>
 
 
 
----
 
'''Bug 6'''
 
 
 
MagickCompositeImage : Composite_wand is a PMagickWand constant.
 
 
 
Correct definition of MagickCompositeImage in magick_image.inc:
 
 
 
<pre>function MagickCompositeImage(wand: PMagickWand; const composite_wand: PMagickWand;
 
const compose: CompositeOperator; const x, y: Integer): MagickBooleanType; cdecl; external WandExport;</pre>
 
 
 
 
 
--[[User:RuBBeR|RuBBeR]] 18:03, 3 July 2006 (CEST)
 
 
 
 
 
'''Status: Bugs 2-6 fixed on v0.4. Thanks to all ([[User:Arcnor|Arcnor]])
 
  
 
=== Change Log ===
 
=== Change Log ===
 
+
*Later:
 +
# Please see the fpc change log as the code has moved to the FPC source code.
 +
*07.11.07
 +
# Added 4 missing functions on magick_image.inc on fpc subversion, but no new release
 
*12.07.06 PascalMagick version 0.4 released
 
*12.07.06 PascalMagick version 0.4 released
 
# Last bugs fixed
 
# Last bugs fixed
Line 234: Line 259:
 
# Minor fixes on the bindings
 
# Minor fixes on the bindings
 
*10.04.06 PascalMagick version 0.2 released
 
*10.04.06 PascalMagick version 0.2 released
 +
# Based on ImageMagic 6.2
 
# MagickWand API fully translated
 
# MagickWand API fully translated
 
# Added a second demonstration program
 
# Added a second demonstration program
Line 243: Line 269:
  
 
=== Help ===
 
=== Help ===
 +
Please send help requests to the [[Forum|Lazarus Forum]] or the [https://lists.lazarus-ide.org/listinfo Lazarus mailing list].
  
Please send help requests to the Lazarus Forum or the Lazarus mailling list.
+
[[Category:Components]]
 +
[[Category:Graphics]]
 +
[[Category:Headers and Bindings]]

Revision as of 08:10, 10 January 2020

English (en) español (es) français (fr) Bahasa Indonesia (id) 日本語 (ja) português (pt) русский (ru) 中文(中国大陆)‎ (zh_CN)

About

About ImageMagick

ImageMagick is a free software suite developed to create, edit, and compose bitmap images. It supports a huge variety of formats (over 200) including formats like GIF, JPEG, JPEG-2000, PNG, PDF, PhotoCD, TIFF, and DPX. Images can be cropped, colors can be changed, various effects can be applied, images can be rotated and combined, and text, lines, polygons, ellipses and Bézier curves can be added to images and stretched and rotated.

The suite runs on all major operating systems and it can also be used from the command line and its command line tools package is one of Linux standard packages, being distributed with many distributions.

Features and Capabilities:

  • Convert an image from one format to another (e.g. PNG to JPEG)
  • Resize, rotate, sharpen, color reduce, or add special effects to an image
  • Create a montage of image thumbnails
  • Create a transparent image suitable for use on the Web
  • Turn a group of images into a GIF animation sequence
  • Create a composite image by combining several separate image
  • Draw shapes or text on an image
  • Decorate an image with a border or frame
  • Describe the format and characteristics of an image

ImageMagick Book

ImageMagick Tricks This fast paced and practical tutorial is packed with examples of photo manipulations, logo creation, animations, and complete web projects. With this book up your sleeve, you'll be creating spellbinding images from code in no time.

About MagickWand

The MagickWand API is the recommended interface by the ImageMagick team. It is an easy to use programming interface for using the suite.

About MagickCore

The MagickCore API is a low-level interface for ImageMagick.

About PascalMagick

This port is a translation of the c header files for both MagickWand and Magick Core.

Screenshot

Authors

Felipe Monteiro de Carvalho

Ángel Eduardo García

License

BSD-style and compatible with the GPL.

You can read the Licence here.

Download

Light bulb  Note: PascalMagick is included in all recent FPC releases. There is no need to download it

Old versions

PascalMagick 0.4 is available here: http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=174103&release_id=431432

For old FPC versions, you can download the subversion version of this project using this command:

svn checkout http://svn.freepascal.org/svn/fpc/trunk/packages/base/imagemagick imagemagick

Status

Magick Wand headers are complete and working on both Windows and Linux.

Warning-icon.png

Warning: MagickWand probably updated their headers in an incompatible way; current ImageMagick compressiontypes are incompatible with those in FPC < 2.7.1; see Issue #26723 which also contains a workaround. This may apply to more ImageMagick consts, enums and function

Installation

The current version of PascalMagick works on Windows and Linux. Beta testers are necessary for the Mac OS X version.

To start with, install ImageMagick binaries from the official website: http://www.imagemagick.org/script/binary-releases.php

Now make sure the PascalMagick package is installed (Instructions on the #Download section above).

To check that everything is working, open the packages\imagemagick\examples\wanddemo.lpr project under your FPC directory. Now go to the Project --> "Compiler Options dialog" and change the "Other Units" field to point to "../magick", so it can find the PascalMagick/magick/ImageMagick.pas file. After this you can compile and run the test program.

If the program is working, it will load the image.png image located on the same directory, resize it and then save it as a jpg called image.jpg.

One extra step is necessary on Linux: Rename the image.PNG to image.png due to case issues.

Demonstration program 1

{
  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 its directory to fit (106, 80) and convert it to a jpg.
  
  Dez/2005
}
{Version 0.1}
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.

Procedures to load images to a Lazarus TBitmap with ImageMagick

Source: http://lazarus.freepascal.org/index.php/topic,20016.msg114885.html#msg114885

unit magicklcl;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, Graphics;

procedure LoadMagickBitmap(FileName: string; Bmp: TBitmap); overload;
procedure LoadMagickBitmap(Strm: TMemoryStream; Bmp: TBitmap); overload;

implementation

uses magick_wand, ImageMagick, IntfGraphics, FPimage, LazUTF8;

procedure LoadMagickBitmapWand(Wand: PMagickWand; Bmp: TBitmap);
var
  img: Pimage;
  pack: PPixelPacket;
  limg: TLazIntfImage;
  i, j, wi, he: integer;
  colo: TFPColor;
begin
  img := GetImageFromMagickWand(wand);
  he := MagickGetImageHeight(wand);
  wi := MagickGetImageWidth(wand);
  limg := TLazIntfImage.Create(0, 0);
  try
    limg.DataDescription := GetDescriptionFromDevice(0, wi, he);
    pack := GetAuthenticPixels(img, 0, 0, wi, he, nil);
    for j := 0 to he - 1 do
      for i := 0 to wi - 1 do
      begin
        colo.red := pack^.red;
        colo.green := pack^.green;
        colo.blue := pack^.blue;
        colo.alpha := pack^.opacity;
        limg.Colors[i, j] := colo;
        Inc(pack);
      end;
    Bmp.LoadFromIntfImage(limg);
  finally
    limg.Free;
  end;
end;

procedure LoadMagickBitmap(FileName: string; Bmp: TBitmap);
var
  wand: PMagickWand;
  status: MagickBooleanType;
  description: PChar;
  severity: ExceptionType;
begin
  wand := NewMagickWand;
  try
    status := MagickReadImage(wand, PChar(UTF8ToSys(FileName)));
    if (status = MagickFalse) then
    begin
      description := MagickGetException(wand, @severity);
      raise Exception.Create(Format('An error ocurred. Description: %s',
        [description]));
      description := MagickRelinquishMemory(description);
    end else LoadMagickBitmapWand(wand, Bmp);
  finally
    wand := DestroyMagickWand(wand);
  end;
end;

procedure LoadMagickBitmap(Strm: TMemoryStream; Bmp: TBitmap);
var
  wand: PMagickWand;
  status: MagickBooleanType;
  description: PChar;
  severity: ExceptionType;
begin
  wand := NewMagickWand;
  try
    Strm.Position := 0;
    status := MagickReadImageBlob(wand, Strm.Memory, Strm.Size);
    if (status = MagickFalse) then
    begin
      description := MagickGetException(wand, @severity);
      raise Exception.Create(Format('An error ocurred. Description: %s',
        [description]));
      description := MagickRelinquishMemory(description);
    end else LoadMagickBitmapWand(wand, Bmp);
  finally
    wand := DestroyMagickWand(wand);
  end;
end;

initialization
  MagickWandGenesis;

finalization;
  MagickWandTerminus;

end.

Bug Reporting/Feature Request

Tests are necessary to verify if the bindings work with all versions of ImageMagick.

Please post Bug Reports / Feature Requests in the discussion page.

Change Log

  • Later:
  1. Please see the fpc change log as the code has moved to the FPC source code.
  • 07.11.07
  1. Added 4 missing functions on magick_image.inc on fpc subversion, but no new release
  • 12.07.06 PascalMagick version 0.4 released
  1. Last bugs fixed
  • 24.05.06 PascalMagick version 0.3 released
  1. Minor fixes on the bindings
  • 10.04.06 PascalMagick version 0.2 released
  1. Based on ImageMagic 6.2
  2. MagickWand API fully translated
  3. Added a second demonstration program
  • 27.12.05 PascalMagick version 0.1 released
  1. About 80% of the MagickWand API is translated
  2. The basic demonstration program is working well
  3. Only the very minimum necessary MagickCode headers were translated
  • 14.12.05 Began working on a pascal port for the c headers

Help

Please send help requests to the Lazarus Forum or the Lazarus mailing list.