Passer une image créée en php à une autre page
Posté : 02 sept. 2005, 11:51
Bonjour, je souhaite afficher une carte de france avec des départements cliquables.
J'ai deux fichiers:
- area_carte.php,
----------------------------
Ouvre le fichier contenant les coordonnées des points à relier, et dans la meme boucle dessine les zones dans mon image de fond + definit les zones cliquables dans ma MAP, puis appelle 'image_carte.php' et place les zones cliquables par dessus.
- image_carte.php,
-----------------------------------
Qui affiche l'image de la carte de france
J'appelle donc dans ''area_carte.php' la page 'image_carte.php' qui va me dessiner mon image à partir de $im :
echo "<IMG SRC='image_carte.php?im=$im' USEMAP='#map1'>";
Mais apparement mon $im ne passe pas, car lorsque j'affiche la source, j'obtiens :
<IMG SRC='image_carte.php?im=Resource id #2' USEMAP='#map1'>
1) Qu'est-ce que Ressource id #2 ?
2) Comment passer une image en paramètre à mon autre page php (image_carte.php) ?
3) Ou bien y a-t-il un autre moyen de faire ?
Merci d'avance,
Je vous mets le code de area_carte épuré à disposition :
J'ai deux fichiers:
- area_carte.php,
----------------------------
Ouvre le fichier contenant les coordonnées des points à relier, et dans la meme boucle dessine les zones dans mon image de fond + definit les zones cliquables dans ma MAP, puis appelle 'image_carte.php' et place les zones cliquables par dessus.
- image_carte.php,
-----------------------------------
Qui affiche l'image de la carte de france
J'appelle donc dans ''area_carte.php' la page 'image_carte.php' qui va me dessiner mon image à partir de $im :
echo "<IMG SRC='image_carte.php?im=$im' USEMAP='#map1'>";
Mais apparement mon $im ne passe pas, car lorsque j'affiche la source, j'obtiens :
<IMG SRC='image_carte.php?im=Resource id #2' USEMAP='#map1'>
1) Qu'est-ce que Ressource id #2 ?
2) Comment passer une image en paramètre à mon autre page php (image_carte.php) ?
3) Ou bien y a-t-il un autre moyen de faire ?
Merci d'avance,
Je vous mets le code de area_carte épuré à disposition :
<?
ini_alter("display_errors",true);
// Dimension
if (isset($_GET['dim'])) {$dim=$_GET['dim'];}
else {$dim=500;}
// Initialise l'image à dessiner en 500 points sur 500
//header('Pragma: no-cache');
//header('Expires: 0');
$im=imagecreate($dim,$dim);
$white=imagecolorallocate($im,255,255,255);
$black=imagecolorallocate($im,0,0,0);
imagefilledrectangle($im,0,0,1023,1023,$white);
(...)
$indice_departement=0;
$x_precedent = "";
$y_precedent = "";
echo "<head><title>mappy</title></head>\n";
echo "<MAP NAME='map1'>";
$f=fopen('fichiers/dep_france_dom.mif','rb');
// Pour chaque ligne du fichier dep_france_dom.mif (ce fichier contient les coordonnées)
while(!feof($f))
{
$buf=fgets($f);
$num=explode(' ',$buf);
if($num[0]=='Region')
{
$indice_departement++;
if ($indice_departement < 97)
{
$numdep = $departement[$indice_departement];
$nombre_regions=(int)$num[1];
// Lecture des coordonnées des points
for($indice_region=1;($indice_region<=$nombre_regions)&&!feof($f);$indice_region++)
{
$nombre_points=trim(fgets($f));
$points=array();
$points2=array();
echo "\n <AREA HREF='area_carte.php?dim=$dim&dept=$numdep' SHAPE='poly' COORDS='\n";
for($indice_point=1;($indice_point<=$nombre_points)&&!feof($f);$indice_point++)
{
$point = explode( ' ', trim( fgets($f) ) );
if (($point[0]!=$x_precedent) || ($point[1]!=$y_precedent))
{
$points[] = $x_precedent = round( ( $point[0] - $x_base ) / $x_echelle );
$points[] = $y_precedent = $dim - round( ( $point[1] - $y_base ) / $y_echelle );
if ($indice_point == 1)
echo "$x_precedent,$y_precedent";
else
echo ", $x_precedent,$y_precedent";
}
}
// On affiche le département dans l'image notée $im
$couleur=$couleur_region[$code_region[$departement[$indice_departement]]];
imagefilledpolygon($im,$points,$nombre_points,$couleur);
imagepolygon($im,$points,$nombre_points,$black);
echo "'>";
}
}
}
}
fclose($f);
//-----------------
//C'est là que ca passe pas pour mon histoire du Resource id #2
//-----------------
echo "\n</MAP>\n<IMG SRC='image_carte.php?dim=$dim&im=$im'
USEMAP='#map1'>";
?>
Et voici image_carte.php :if (isset($_GET['dim'])) {$dim=$_GET['dim'];}
else {$dim=500;}
if (isset($_GET['im'])) {$im=$_GET['im']; imagepng($im);}