php ile resim üzerine yazı yazdırma ve session bilginiz olması gerekiyor. güvenlik kodu sisteminin forumda fazlaca örneği mevcut. sizin istediğiniz tarzda bir örnek vereyim, çalıştırarak inceleyebilirsiniz.

<?php
session_start();
if ($_GET['kod_goster'])
{
    header("Content-type: image/png");
    
    $text = $_SESSION['sayi1'] . ' + ' . $_SESSION['sayi2'];
    $im = imagecreatetruecolor(48, 18);
    $white = imagecolorallocate($im, 255, 255, 255);
    $black = imagecolorallocate($im, 0, 0, 0);
    
    imagefilledrectangle($im, 0, 0, 48, 18, $white);
    imagestring($im, 20, 1, 4,  $text, $black);
    
    imagepng($im);
    imagedestroy($im);
    exit;
}

if ($_POST['gonder']) 
{
    ($_POST['adsoyad'] == '' ? exit('Ad soyad girmediniz!<br /><br /><a href="' . $_SERVER['SCRIPT_NAME'] . '">Geri Dön</a>') : ''); 
    ($_POST['gu_kodu'] == '' ? exit('Güvenlik sorusunu boş bıraktınız!<br /><br /><a href="' . $_SERVER['SCRIPT_NAME'] . '">Geri Dön</a>') : '');
    
    if ($_SESSION['sayi1'] + $_SESSION['sayi2'] == $_POST['gu_kodu']) {
        $_SESSION['sayi1'] = rand(0, 9);
        $_SESSION['sayi2'] = rand(0, 9);
        exit('<b>Gelen veri:</b> ' . $_POST['adsoyad'] . '<br /><br /><a href="' . $_SERVER['SCRIPT_NAME'] . '">Geri Dön</a>');
    }
    else
        exit('Güvenlik sorusunu yanlış cevapladınız!<br /><br /><a href="' . $_SERVER['SCRIPT_NAME'] . '">Geri Dön</a>');
}
else
{
    $_SESSION['sayi1'] = rand(0, 9);
    $_SESSION['sayi2'] = rand(0, 9);
}
?>
<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
    Adınız ve Soyadınız: <input style="margin-left: 10px;" type="text" name="adsoyad" />
    <br />
    <br />
    <img width="30" height="18" style="margin-top:5px;" src="?kod_goster=1" /> kaç eder ?
    <input style="margin-left: 30px;" size="5" type="text" name="gu_kodu" />
    <br />
    <br />
    <input style="margin-left: 134px;" type="submit" name="gonder" value="Gönder" />
</form>