Well you best to explain GD then wikipedia - http://en.wikipedia.org/wiki/GD_Graphics_Library. But put simply its a way of editing / creating / tweaking images from your code.
The silverstripe installer checks for GD2 when you install so unless you had an error when you installed you should be fine.
- Fuzz10 as to how to implement it is how your method was written. Does it save a copy of the image some where or just override the original? And also how are you uploading the images? Do you want to add the water mark to the images in the content area or are you using an upload form?. The best way would probably be to define doPublish() on your page class. and have something like
class Page extends SiteTree {
....
...
// this fires when you hit publish
function doPublish() {
$this->AddWaterMarksToImages();
return parent::doPublish()
}
So when you publish a page it runs off and does your water marking method.