No to przeciez $width w moim kodzie to przyblizona szerokosc napisu.
Teraz wystarczy odjac od szerokosci obrazka $width ($pozycja_X = $szerokosc_obrazka - $szerokosc_napisu ($width) i w ten sposob masz pozycje X do umiejscowienia napisu.
Jak dobrze skorygujesz ten moj kod, tzn. ja mnoze przez 8, ale mozesz probowac zwiekszyc/zmniejszyc ten mnoznik i wyjdzie calkiem mozliwie.
Wystarczy troche pomyslec

Mozna tez jeszcze uzyc imagefontwidth(font_ktorym_piszesz), zamiast tej 8, wtedy bedzie bardziej dokladnie.
// Plik obrazek_gd.php
$font = 2; // Tutaj mozesz wstawic nazwe uzywanej czcionki jako string.
$szerokosc_obrazka = 300;
$wysokosc_obrazka = 100;
$szerokosc_napisu = strlen($_GET['tresc']) * imagefontwidth
($font); $wysokosc_napisu = imagefontheight($font);
$poz_X = $szerokosc_obrazka - $szerokosc_napisu;
$poz_Y = $wysokosc_obrazka - $wysokosc_napisu;
$img = imagecreatetruecolor($szerokosc_obrazka, $wysokosc_obrazka);
$text_color = imagecolorallocate($img, 233, 14, 91);
imagestring($img, $font, $poz_X, $poz_Y, $_GET['tresc'], $text_color);
header('Content-type: image/jpeg'); imagejpeg($img);
imagedestroy($img);
Masz gotowca.
PS. Sprawdzone i dziala, z dokladnoscia co do 1px.
Wpisz w adresie (obrazek_gd.php?tresc=Kapuch), lub cos dluzszego i sie przekonaj