I’ve spent a good amount of time working with GD in the past. Mostly photo manipulation stuff: cropping, scaling, watermarks, etc. Currenlty, I’m working on an actual database driven content generation application using GD. All I can really say about it is goddamn, I totally have a new respect for graphics developers. Its freaking hard.
If you’re interested in working with GD, its actually quite easy to use. PHP.net has the API documented. The comments on the function pages are very helpful. If you look at skinnable applications, such as mp3 players and such, you can find a lot of interesting techniques for drawing scalable content containers.
There is a prety simple technique used all over the web as well as in most window managing engines for GUIs that I’ve found really helpful. The idea is: for a scalable panel, maybe an image container with a drop shadow and rounded corners, you have to break the border image up into pieces. You cut out the for corners and take a chunk from each side. Then, when you go to build your content frame, you draw your corners and repeat those side chunks until you’ve filled in the sides.
It’s pretty easy to do with html tables or css. Its not quite as easy to do with GD, but its still not impossible.