La imagen se genera nueva a partir de tu imagen original creando una nueva en "memoria" o bien generando un archivo nuevo (por supuesto si le das el mismo nombre que el que tenía tu imagen original .. la sobre-escribes). A su vez lo que se hace o permite con funciones como: imagecopyresampled() es tomar una porción de una imagen dada .. si tomas todo su tamaño generaas un thumbnail o "ampliación" de la imagen total en general .. pero podrías hacer como un "zoom" de cierta parte de la imagen original (manejando las coordenadas de origen).
Un ejemplo simple sería el de la própia documentación de PHP:
http://www.php.net/manual/en/functio...yresampled.php
Por eso tienes funciones y siempre parten den un "imagecreatefromXXXX()" para hacer referencia que su imagen creada está basada en esa que llamas (pero podría ser en base a algo completamente creado desde cero con otras funciones de GD).
Lamentablemente esta "teoría" no suelen explicarlas los "tutoriales" por qué van al "grano" .. al código directo que . .con el tiempo al final te "daras" cuenta de que hacen realmente. Pero también puedes recurrir a la documentación oficial de PHP sobre GD y ver que hacen esas funciones:
www.php.net/gd
No sé si eso habrá resuelto tu duda .. pero fijate que "todo" se basa en generar esa imagen como antes comenté: ya sea desde otra que se toma como base o desde cero. Una vez "generado" esa imagen se asigna a una "variable": $im (se suele usar esa descripción . .aunque eso es lo de menos: el nombre) .. Esa "variable" será tu recurso de imagen .. al cual podrás seguir aplicando otras funciones para cualquier proceso.
Lo demás es "imaginación" .. como para ver como combinar funciones para llegar a tu objetivo (tal o cual efecto sobre la imagen).
Todo esto sería la teoría y como debes orientar tu aprendizaje para que puedas hacer tus própias funciones .. pero a un nivel más productivo y siempre que ya conozcas como funciona el tema .. al final lo más rentable es usar alguna classe o código en general ya hecho para tal fin. Por mi parte he usado:
phpThumb()
http://phpthumb.sourceforge.net/
Que la "use" no quiere decir que no sepa como funciona (tal vez no al detalle por qué no me he puesto a desarrollarlo desde cero) todas las funcionalidades que hace dicha classe con proceso de imagenes .. pero por mi parte me sobra y a la hora de la verdad no hay mucho tiempo para "re-inventar" la rueda. Insisto que esto no quita que se sepa como funciona el "cuento" y alabo a los que quieren re-inventar la rueda para satifascción personal y poder decir "esto lo hice yo".
Un saludo,