¿Y que error te coloca exactamente?
Código PHP:
function texto_imagen ($texto, $ruta_imagen)
{
// Establecer el tipo de contenido
header('Content-Type: image/png');
// Crear la imagen
$im = imagecreatetruecolor(400, 30);
$imagen = imagecreatefromjpeg($ruta_imagen);
$negro = ImageColorAllocate($imagen, 0, 0, 0);
$fuente = 'arial.ttf';
imagettftext($imagen, 40, 0, 20, 340, $negro,$fuente,$dia);
imagepng($imagen);
imagedestroy($imagen);
}
Así a bote pronto yo veo que intentas crear una imagen de un jpg pero sin embargo en la cabecera le estas indicando que la imagen que debe visualizar es un png.
Si nos comentas que errores te coloca es posible que se pueda colaborar más.
Nota: No estoy seguro si html es sensible a mayúsculas o no en img, height y width. Yo por defecto siempre los coloco en minúsculas porque jamás lo he utilizado de otra forma. Por lo que he leido en el estandar de XHTML se acostumbra usar minúsculas.