Hello,
I do some really funky things with ImageMagick, thanks to some help from Anthony.
For example, to add a gradient to a button I have to use ImageMagick to calculate the size of the button, write that size to a text file, then read that text file later.
Can this be done with IMagick?
Please review the file attachment and tell me if this can be done STRICTLY with IMagick, without the use of exec().
Thanks!
Can my complex actions be done with IMagick?
Can my complex actions be done with IMagick?
- Attachments
-
- button.zip
- Complex ImageMagick Code
- (1.5 KiB) Downloaded 1974 times
Re: Can my complex actions be done with IMagick?
Yes, I took a quick look and it looks doable.
Heres an example of a little more complicated drawing operation using imagick:
http://phpfi.com/259259
--
Mikko Koppanen
Heres an example of a little more complicated drawing operation using imagick:
http://phpfi.com/259259
--
Mikko Koppanen
Mikko Koppanen
My blog: http://valokuva.org
My blog: http://valokuva.org
Re: Can my complex actions be done with IMagick?
Here's an example I used to get started with Imagick:
/* This is the IM command version:
-size 900x85 xc:#ffffee -font Bookman-DemiItalic -pointsize 30 -draw "text 10,60 'Image created and saved: 9 Aug 2007 02:36:38 PM'" -channel RGBA -gaussian 0x6 -fill darkred -stroke magenta -draw "text 5,55 'Image created and saved: 9 Aug 2007 02:36:38 PM'"
*/
Then I just took each IM command and used the Imagick equivalent. Some of the parameters are slightly different.
/* This is the IM command version:
-size 900x85 xc:#ffffee -font Bookman-DemiItalic -pointsize 30 -draw "text 10,60 'Image created and saved: 9 Aug 2007 02:36:38 PM'" -channel RGBA -gaussian 0x6 -fill darkred -stroke magenta -draw "text 5,55 'Image created and saved: 9 Aug 2007 02:36:38 PM'"
*/
Then I just took each IM command and used the Imagick equivalent. Some of the parameters are slightly different.
Code: Select all
$obj2= new Imagick(); //Object
$draw= new ImagickDraw(); //Drawing objects
$color= new ImagickPixel(); //Pixels color objects
$text= 'Image created and saved: ' . date('j M Y h:i A');
$width= 940;
$height= 85;
$font_size= 32;
$left_margin= 30;
$top_margin= 55; //Text and shadow location
$label_img= './test_label.jpg';
$color->setColor('skyblue');
$obj2->newImage($width, $height, $color);
//Create the label image
$draw->setFont("Bookman-DemiItalic"); //Set the font
$draw->setFontSize($font_size); //Set the size
$color->setColor("black");
$draw->setFillColor($color);
$obj2->annotateImage($draw, $left_margin+5, $top_margin+5, 0, $text); //Add the text shadow
$obj2->gaussianBlurImage(0, 6); //Blur it
$color->setColor("darkred"); //Text color
$draw->setFillColor($color);
$color->setColor('magenta'); //Stroke color
$draw->setStrokeColor($color);
$draw->annotation($left_margin, $top_margin, $text); //Add pretty text
$obj2->drawImage($draw); //Add the text layer
/********* 3d Frame it ********************************/
/*
* The IM command: -mattecolor Blue -frame 10x10+0+6
*/
$color->setColor('blue');
$obj2->frameImage($color, 14, 14, 0, 8);
$obj2->SetImageFormat('jpeg');
$obj2->writeImage($label_img);
echo "<img alt=\"image missing\" src=\"./$label_img\">\n\n";