Tienes várias opciones:
1) Generas un archivo:
$nombre_archivo=time().".png"; // ojala aleatorio .. (no es perfecto este método ojo).
imagepng($im,$nombre_archivo);
(no recuerdo el orden de los parámetros .. revisalo:
www.php.net/imagepng)
al terminar . .redireccionas:
header ("Location: nose.php?imagen=".$nombre_archivo);
y eso en nose.php usas simplemente:
<img src="<? echo $_GET['imagen'] ?>">
Esta sólución no es muy "buena" que digamos .. Te vas a llenar de imagenes temporales en tu servidor .. así que tendría que implementar otras rutinas para borrarlas.
2) Trabajar con sesiones .. De tu formulario.html .. pasa a "procesar.php" ahí genera tus variables que usa tu muestra.php pero en una sesión ..
procesa.php
Código PHP:
<?
session_start();
###<--COLORES DE LAS LETRAS -->###
$_SESSION['colorNOM'] = $_POST['colorNOM'];
// etc con el resto ...
// al terminar el proceso de registro de variables . .redirecciona a tu nose.php
header ("Location: nose.php");
exit;
nose.php
// llama a tu tag de imagen
<img src="muestra_imagen.php">
y tu muestra_imagen.php
toma las variables de la sesión (en lugar de "POST") y hace su trabajo.
Un saludo,