You can think of the image manipulation "stack" in MODX as having a few layers:
3] User level. A snippet you can use in your templates. Ex: phpThumbOf, pThumb, phpThumbsUp, etc.
2] System level. A PHP class or classes. Ex: phpThumb/modPhpThumb (part of the MODX core), Resizer.
1] Lower level. A PHP extension or command-line program that does the actual work of manipulating an image. Ex: GD, ImageMagick, Gmagick.
pThumb handles looking for the file from the input you give it, seeing if it's already cached or not and if it isn't, generating a cache filename and passing that along with the input filename and options down to level 2. On level 2 it can either use phpThumb from the MODX core or
Resizer, which pThumb installs.
phpThumb is old (it'll run on PHP 4.0-4.1, circa 2001!), supports a ton of options (need to add a border to your image, make it 20% transparent and rotate it 10° without that "new-fangled" CSS nonsense? : ), and while it mostly works ok, is something of a lumbering beast (have a
look. And
here). Development tapered off around
2007–2008 except for some bug fixes in 2011.
Resizer is my attempt at something lighter, faster, and somewhat more modern, focusing on the stuff people need most commonly these days, namely scaling and cropping images. I might add watermarking sometime. If you need to desaturate an image on the fly and apply a Gaussian blur, you can either use CSS3 filters or phpThumb.
Right now it consists of
this library—which it uses only a fairly small part of—plus about 250
lines of code.
Hopefully that explains things?