Hi There

Looking for an ImageMagick guru for a small (but paid) job. Job as follows:

ImageMagick Work

I require a PHP 4/5 compatible class to be developed that will utilize the latest version of Image Magick to perform the following tasks:

1) Retrieve the following file types from a HTML image upload form: Jpg, Giff, Png, Tiff, EPS and PDF and…
Create 2 300DPI output versions of each image: 1) RGB (for use in a Flex application) and 2) CMYK for use in an exported PDF.

2) In a separate process – crop image files to user specified crop points.

Converted format for Flex
Flex can display PNG, JPG and GIFF. So if any of these are uploaded then the converted file for Flex and the PDF can remain the same format. If the uploaded file is a Tiff, EPS or PDF then these files will need to be converted to PNG format for both Flex and PDF versions (RGB and CMYK respectively).

Some considerations
1) The files that are uploaded by users may not be 300DPI.
2) The files uploaded by users can be either RGB or CMYK.
3) Transparency needs to be retained in the PNGs.

How the PHP Class will be called
I’ll be calling this Image Conversion PHP class from another PHP Class. Ideally as follows:

1) When an image has been uploaded:

$myImageConverter = new ImageConverter();
$arrConvertedImages = $myImageConverter.convertImage($tempImageUploadPath);

The returned array should contain 2 properties – ‘flexImage’ and ‘pdfImage’ which I can save to my choice of locations on the server.

2) To crop an image:

$myImageConverter = new ImageConverter();
$topLeft = array("x”=>10,”y” =>12.5); //10 means 10% of the image width from the left side and 12.5% of the image height from the top.
$bottomRight = array("x”=>85,”y” =>70); //85 means end the crop of the image at the point 85% of the image width and 70% of the image height
$croppedImage = $myImageConverter.cropImage($topLeft,$bottomRight);

This method should return the cropped image which I can then save over the previous version. It should only accept the following file types: Giff, Jpg, PNG. It must return a cropped image of the same DPI and colour mode (RGB or CMYK).

Please email quote to nick@editioninteractive.net