Por supuesto que ese código te va a generar una imagen negra, porque simplemente creas la imagen, con medidas, pero sin contenido e inmediatamente la muestras.
El problema con el código que mostraste ya te lo dije, no hay contenido en la imagen.
El problema con tu código completo... ahhmmm... sin verlo es imposible decirlo!