The Imagick class has the ability to hold and operate on multiple images simultaneously. This is achieved through an internal stack. There is always an internal pointer that points at the current image. Some functions operate on all images in the Imagick class, but most operate only on the current image in the internal stack. As a convention, method names can contain the word Image to denote they affect only the current image in the stack.
Because there are so many methods, here is a handy list of methods, somewhat reduced to their general purpose:
You can find the documentation for all of these magick_wand--the interface Imagic seems to be built on--functions at http://www.graphicsmagick.org/wand/magick_wand.html
Simply echo the Imagick object to output it to the browser.
Remember to use setImageFormat() and header('Content-type: image/png')
In case you are wondering why the function imageGrayscale() doesn't exist ... it's because imageModulate(100,0,100) does the trick already!
<?php
$f = 'enter filename here';
$i = new Imagick($f);
$i->imageModulate(100,0,100);
header('Content-type: image/jpeg');
echo $i;
?>
Users looking to save with these functions should know it can be done easily, for example
<?php
header ("Content-Type: image/{$Imagick->getImageFormat()}");
$data = $Imagick->getImageBlob ();
echo $data;
file_put_contents ('test.png', $data);
?>
That would display the image, and then save it to test.png. Such things are helpful especially when you need to reload images after creating them or save for later. :)