Bij onderstaand script is het de bedoeling dat mensen kunnen klikken op bijvoorbeeld map1 en dat dan door een post de coordinaten van de geklikte area worden doorgegeven. Op dit punt moet dan een computer geplaatst worden en deze afbeelding moet dan terug weergegeven worden als <img src='./img/new.png' border='0'/> zodat hierrond nog enige extra html geplaatst kan worden. Blijkbaar zit er ergens nog een fout in want hij heeft de foutmelding: The image ... cannot be displayed because it contains errors.
Blijkbaar kan ik wel de nieuwe map opslaan als new.png en staan hier geen errors in.
Wat doe ik mis?
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$dest_x=$_POST['dest_x'];
$dest_y=$_POST['dest_y'];
$plan = imagecreatefrompng('./img/map1.png');
if ($plan === false) {
return false;
}
//$computer = imagecreatetruecolor(16,16);
$computer = imagecreatefromgif('./img/computer.gif');
if ($computer === false) {
return false;
}
$computer_width = imagesx($computer);
$computer_height = imagesy($computer);
imagecopy($plan, $computer, ($dest_x-($computer_width/2)), ($dest_y-($computer_height/2)), 0, 0, 16, 16);
header("Content-Disposition: filename=" . $plan);
header('Content-type: image/png');
$test = imagepng($plan,'./img/new.png',9);
//imagepng($plan);
imagedestroy($plan);
imagedestroy($computer);
echo '<img src="./img/new.png" border="0" />';
//echo '<img src="data:image/png;base64,'. base64_encode($plan) . '" alt="" />';
} else {
echo "<form action='' method='post'>
<input type='image' alt='map' src='./img/map1.png' name='dest' style='cursor:crosshair;'/>
</form>";
}
?>
1.380 views