1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| $datafile = file('town.txt'); // absortion des données
if(!is_array($datafile)) die("File could not be opened");
//image de fond
header ("Content-type: image/png");
ini_set("memory_limit", "12000M"); // augmentation memoire
set_time_limit(0); // illimite dans le temps exé du script
$imgfond = imagecreate(10000,10000);
$bleu = imagecolorallocate($imgfond, 20, 68, 116);
// insertion des éléments de la carte
foreach($datafile as $datum){
list($id, $xpos, $ypos, $type, $free) = explode(',', $datum);
$urlimg=$type.'.png'; // creation url img àpd données
$xpos = 10*$xpos; // indice de position
$ypos = 10*$ypos;
$free= intval($free);
// Modification de la taille des iles
$imgsource = imagecreatefrompng($urlimg);
$largeur_imgsource = imagesx($imgsource);
$hauteur_imgsource = imagesy($imgsource);
$largeur_element_resize = $largeur_imgsource/12; //indice taille iles
$hauteur_element_resize = $hauteur_imgsource/12;
$element_resize = imagecreate($largeur_element_resize, $hauteur_element_resize);
$red = imagecolorallocate($element_resize, 255, 0, 0);
imagecolortransparent($element_resize, $red);
$largeur_source = imagesx($imgsource);
$hauteur_source = imagesy($imgsource);
$largeur_element_resize = imagesx($element_resize);
$hauteur_element_resize = imagesy($element_resize);
imagecopyresampled($element_resize, $imgsource, 0, 0, 0, 0, $largeur_element_resize, $hauteur_element_resize, $largeur_source, $hauteur_source);
ImageAlphaBlending($imgfond, true); // insertion
$logoW = ImageSX($element_resize);
$logoH = ImageSY($element_resize);
ImageCopy($imgfond, $element_resize, $xpos, $ypos, 0, 0, $logoW, $logoH);
}
ImageJPEG($imgfond); // output to browser
ImageDestroy($imgfond);
ImageDestroy($element_resize);
ImageDestroy($imgsource); |
Partager