Použitie Header pri generovaní obrázku

mam skript s formularom a vytvoril som si k nemu ochranu proti spamu pomocou funkcie imagecreate(). mam to v osobitnom subore image.php, ktory includujem do hlavneho skriptu, problem je v tom, ze opera mi zobrazi namiesto celeho formulára len rámček s rozmermi obrázka, ktorý mal vygenerovať skript, formulár tam nie je. Pravdepodobne bude problém v používaní hlavičiek :-(

ukážka:

main.php

<?php

$header="Expires: ".GMDate("D, d M Y H:i:s \G\M\T");
Header ($header);
Header("Last-Modified:".gmdate("D, d M Y H:i:s")."GMT");
Header("Cache-control:no-cache,must-revalidate");
Header("Pragma:no-cache");

session_start();

if ($send=="yes") Header("Location:forum.php");

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<head>
<META HTTP-EQUIV="content-type" CONTENT="text/html" ; CHARSET="windows-1250">
</head>

<body>

<?php

include "image.php";

echo "<form action='main.php'>\n";


echo "</form>\n";

if ($send=='yes') {

} else {


}

?>

</body>

image.php


<?php

function keygen() {

ob_start();

Header("Content-type:image/png");

$posval="abcdefghijklmnopqrstuwxyz";
$i=0;

for ($i=0;$i<5;$i++) {

$ss=SubStr($posval,rand(0,24),1);
$string.=$ss;

}

$im=ImageCreateFromPNG("img/raster.png");
$blue=ImageColorAllocate($im,0,127,255);
ImageString($im,12,18,0,$string,$blue);
ImagePNG($im,"img/antispam.png");

ImageDestroy($im);

$fp=FOpen("data.txt","w");
FPuts($fp,$string);
FClose($fp);

ob_end_flush();

}

?>

Môžte mi prosím poradiť v čom je problém, pomôže output buffering? Aká hlavička v php sa používa na textový obsah?
Header("Content-type: text/plain");