Mam taki kod generowania obrazków:
<?php
/* captcha_image.php */
/* Długość hasła */
$pass_length = 4;
/* Wymiary obrazu */
$width = 200;
$height = 60;
/* Ścieżka do czcionki TTF */
/* Tworzy hasło. */
$passwd = "";
$i = 0;
while ($i < $pass_length) {
$passwd .= chr
(rand(97
, 122
)); $i++;
}
/* Składuje hasło. */
$_SESSION["tt_pass"] = $passwd;
/* Uzyskuje listę dostępnych czcionek. */
if ($handle = opendir($font_path)) { while (false !== ($file = readdir($handle))) { /* Poszukuje czcionek TTF. */
$fonts[] = $font_path . '/' . $file;
}
}
}
die("Nie znaleziono czcionek!"); }
/* Nagłówek obrazu: */
header("Content-Type: image/jpeg"); /* Nagłówki przeciwdziałające składowaniu obrazu w pamięci podręcznej: */
header("Expires: Mon, 01 Jul 1998 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false);
/* Tworzy obraz. */
$img = imagecreatetruecolor($width, $height);
/* Wypełnia tło losowym odcieniem pastelowym. */
$bg = imagecolorallocate
($img, rand(210
,255
), rand(210
,255
), rand(210
,255
)); imagefilledrectangle($img, 0,0, $width, $height, $bg);
/* Komplikuje tło obrazu, uzupełniając je o różnokolorowe,
czworokątne figury. */
/* Tworzy linie grubości od 10 do 30 pikseli rozciągające się na całym obrazie. */
$left = 0;
while ($left < $width) {
$left, 0, /* Lewy, górny narożnik */
$right, 0, /* Prawy, górny narożnik */
rand($right-25
, $right+25
), $height, /* Prawy, dolny narożnik */ rand($left-15
, $left+15
), $height); /* Lewy, dolny narożnik */
/* Tworzy wielokąt, wykorzystując losowe punkty składowane w tablicy. */
$c = imagecolorallocate
($img, rand(210
,255
), rand(210
,255
), rand(210
,255
)); imagefilledpolygon($img, $poly_points, 4, $c);
/* Zbliża się do prawej krawędzi. */
$random_amount = rand(10
, 30
); $left += $random_amount;
$right += $random_amount;
}
/* Wybiera podstawowy przedział wartości kolorów dla pionowych i poziomych linii. */
/* Rysuje przypadkowe, pionowe linie na całej szerokości obrazu. */
$left = 0;
while ($left < $width) {
$right = $left + rand(3
, 7
); $offset = rand(-3
, 3
); /* Przesunięcie decydujące o nachyleniu */
$left, 0, /* Lewy, górny narożnik */
$right, 0, /* Prawy, górny narożnik */
$right + $offset, $height, /* Prawy, dolny narożnik */
$left + $offset, $height); /* Lewy, dolny narożnik */
$pc = imagecolorallocate
($img, rand($c_min, $c_max), imagefilledpolygon($img, $line_points, 4, $pc);
/* Zbliża się do prawej krawędzi. */
}
/* Rysuje przypadkowe, poziome linie na całej wysokości obrazu. */
$top = 0;
while ($top < $height) {
$bottom = $top + rand(1
, 4
); $offset = rand(-6
, 6
); /* Przesunięcie decydujące o nachyleniu */
0, $top, /* Lewy, górny narożnik */
0, $bottom, /* Lewy, dolny narożnik */
$width, $bottom + $offset, /* Prawy, dolny narożnik */
$width, $top + $offset); /* Prawy, górny narożnik */
$pc = imagecolorallocate
($img, rand($c_min, $c_max), imagefilledpolygon($img, $line_points, 4, $pc);
}
/* Określa odległość dzielącą znaki. */
$spacing = $width / (strlen($passwd)+2
);
/* Początkowa współrzędna pozioma */
$x = $spacing;
/* Rysuje poszczególne znaki. */
for ($i = 0; $i < strlen($passwd); $i++) { $letter = $passwd[$i];
$size = rand($height/3
, $height/2
); $rotation = rand(-30
, 30
);
/* Losowa współrzędna pionowa z przestrzenią na wyższe znaki */
$y = rand($height * .90
, $height - $size - 4
);
/* Wybiera losową czcionką. */
/* Wybiera kolor dla danej litery. */
$r = rand(100
, 255
); $g = rand(100
, 255
); $b = rand(100
, 255
);
/* Tworzy kolory samej litery i jej cienia. */
$color = imagecolorallocate($img, $r, $g, $b);
$shadow = imagecolorallocate($img, $r/3, $g/3, $b/3);
/* Rysuje kolejno cień litery i samą literę. */
imagettftext($img, $size, $rotation, $x, $y, $shadow, $font, $letter);
imagettftext($img, $size, $rotation, $x-1, $y-3, $color, $font, $letter);
/* Przechodzi do kolejnej pozycji na danej kanwie. */
$x += rand($spacing, $spacing * 1
.5
); }
imagejpeg($img); /* Wysyła gotowy obraz. */
imagedestroy($img); /* Zwalnia pamięć obrazu. */
?>
oraz taki
<?php
/* Analizujemy otrzymane hasło. */
if ($_REQUEST["tt_pass"]) {
if ($_REQUEST["tt_pass"] == $_SESSION["tt_pass"]) {
echo "Otrzymano prawidłowe hasło."; } else {
echo "Otrzymano nieprawidłowe hasło."; }
}
/* Domyślnie wysyłamy formularz w tej formie. */
print '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">'; ?>
Aby kontynuować, wpisz następujące litery:<br />
(Jeśli wyświetlone litery są nieczytelne, odśwież tę stronę)<br />
<img src="captcha.BMP"><br /><br />
Litery: <input name="tt_pass" type="text" size="10" maxlength="10">
<input type="submit">
</form>
jak uruchamiam pierwszy plik to obrazek się generuje, ale jak zrobić, aby był wyświetlany w tym formularzu