В итоге вот так сделал,
<?php
$img = imagecreatefromjpeg(BASEDIR.$dir.'/'.$name);
$dst = imagecreatetruecolor($tn_width,$tn_height);
imagecopyresampled($dst, $img, 0, 0, 0, 0, $tn_width, $tn_height, $width, $height);
$color = imagecolorallocate($dst, 255, 255, 255);
$color2 = imagecolorallocate($dst, 0, 0, 0);
$x = imagesx($dst) - ceil(strlen($config_title) * 5) - 2;
$y = imagesy($dst) - 10;
imagefilledrectangle($dst, $x-1, $y, $tn_width-3, $tn_height-3, $color2);
ImageString ($dst, 1, $x , $y, $config_title, $color);
header('content-type: image/jpeg');
header('Content-Disposition: filename="'.$name.'"');
imagejpeg ($dst, null, 40);
imagedestroy($img);
imagedestroy($dst);
в правом нижнем углу белая надпись на черном фоне, но что-то мне не нравится результат