PascalMagick
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 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.
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. There is also the MagickCore API, a low-level interface. Specificaly, this page is about the Pascal port of the MagickWand API. This port is a translation of the c header files witch for the MagickWand c bindings.
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
About MagickCore
Screenshot
Author
Felipe Monteiro de Carvalho
License
BSD-style and compatible with the GLP.
You can read the Licence here.
Download
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 it´s 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.
CVS
Bug reporting/Featurerequest
Tests are necessary to verify if the bindings work with all versions of ImageMagick.
Change Log
- 14.12.05 Began working on a pascal port for the c headers
Status: Underconstruction