User Rating: 3 / 5

Star ActiveStar ActiveStar ActiveStar InactiveStar Inactive

ImageMagick is a free open-source software package that allows you to convert image files between formats, resize images and perform other functions. It can be used from the command line or as a COM object using PowerBuilder’s OLEObject functionality.


You can download the installer from here:


You must use one of the installers with the word “dynamic” in the description. I chose the Win32 installer because it offers a higher resolution than the Win64 Dynamic installer.


The command documentation for ImageMagick can be found here:


There are several commands that are supported by the COM interface.


compare: Compares two image files and returns information about the differences.


composite: Overlaps one image over another resulting in a third image file.


convert: Converts between image formats as well as resizing the image and other actions such as blur, crop, despeckle, and much more.


identify: Describes the format and characteristics of image files.


mogrify: Resizes the image and other actions such as blur, crop, despeckle, and much more. Mogrify overwrites the original image file, whereas, convert writes to a different image file.


montage: Creates a composite image by combining several separate images. The images are tiled on the composite image optionally adorned with a border, frame, image name, and more.


Here is an example that converts a JPG file to PNG:


OLEObject oMagick

String ls_origfile, ls_destfile

Integer li_rc

Any la_result


ls_origfile = “C:\PBSource\PB105\ImageMagick\Totoro.jpg”

ls_destfile = “C:\PBSource\PB105\ImageMagick\Totoro.png”


oMagick = Create OLEObject


li_rc = oMagick.ConnectToNewObject(“ImageMagickObject.MagickImage”)

If li_rc = 0 Then

   la_result = oMagick.Convert(ls_origfile, “-format”, “png”, ls_destfile)

   MessageBox(“Convert”, “Result: ” + String(la_result))


   MessageBox(“ConnectToNewObject”, “Failed: ” + String(li_rc), StopSign!)

End If




Destroy oMagick

Comments (0)

There are no comments posted here yet