lundi 20 juillet 2009
Code 2
<|head|>
<|title|>carte map<|/title|>
<|? $nautique=$_GET['aff_nautique']; $aerien=$_GET['aff_aerien']; $terrestre=$_GET['aff_terrestre']; $ops=$_GET['aff_ops']; $type=$_SESSION['type_carte']; $dst=$_GET['dst']; $meridiens=$_GET['meridiens']; $limites=$_GET['limites']; $sable=$_GET['sable']; $mode=$_GET['mode']; echo " <|meta http-equiv=content-type content=text/html; charset=iso-8859-1|>
<|META HTTP-EQUIV=refresh CONTENT=10;URL=carte.php?aff_nautique=", $nautique, "&aff_aerien=", $aerien, "&aff_terrestre=", $terrestre, "&aff_ops=", $ops, "&type_carte=", $type, "&dst=", $dst, "&meridiens=", $meridiens, "&limites=", $limites, "&sable=", $sable, "&mode=", $mode, "|>
<|/head|>
";
if($_SESSION['type_carte']=='medium')
{ echo
"<|style type='text/css'|>
body
{
color:black;
background-image:url(images/fond_carte/medium/fond_carte_medium.png);
background-position: 8px 6px;
background-repeat:no-repeat;
}
<|/style|><|/head|>";
}
if($_SESSION['type_carte']=='wide')
{ echo
"<|style type='text/css'|>
body
{
color:black;
background-image:url(images/fond_carte/wide/fond_carte_wide.png);
background-position: 8px 6px;
background-repeat:no-repeat;
}
<|/style|><|/head|>";
}
else
{echo "<|/head|>";}
if($_GET['mode']=='position')
{echo " <|form action=position_clic.php method=post|>
<|input type=image name=gen_carte src=gen_carte.php?aff_nautique=", $nautique, "&aff_aerien=", $aerien, "&aff_terrestre=", $terrestre, "&aff_ops=", $ops, "&type_carte=", $type, "&dst=", $dst, "&meridiens=", $meridiens, "&limites=", $limites, "&sable=", $sable, " usemap=#carte border=0|> ";}
else
{echo "<|img src=gen_carte.php?aff_nautique=", $nautique, "&aff_aerien=", $aerien, "&aff_terrestre=", $terrestre, "&aff_ops=", $ops, "&type_carte=", $type, "&dst=", $dst, "&meridiens=", $meridiens, "&limites=", $limites, "&sable=", $sable, " usemap=#carte border=0|>";}
echo "<|map name=carte|>";
mysql_connect("localhost", "root", "root654")OR die(mysql_error()); //connection
mysql_select_db("logs_test")OR die(mysql_error());
//------------------------------------ Mappage des moyens nautiques ------------------------------------------------
if($nautique==1)
{
$reponse = mysql_query("SELECT id, genre, pos_x, pos_y FROM moyens_nautique") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
if($donnees['pos_x']!='0' && $donnees['pos_y']!='0')
{
echo" <|area shape='rect' target=zone_affiche href=fiche_mini.php?genre=", $donnees['genre'],"&id=", $donnees['id'], "&carte=1 coords=", $donnees['pos_x']-5,",", $donnees['pos_y']-5,",", $donnees['pos_x']+5,",", $donnees['pos_y']+5, "|>";
}
}
}
//------------------------------------ Mappage des moyens aeriens ---------------------------------------------------
if($aerien==1)
{
$reponse = mysql_query("SELECT id, genre, pos_x, pos_y FROM moyens_aerien") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
if($donnees['pos_x']!='0' && $donnees['pos_y']!='0')
{
echo" <|area shape='rect' target=zone_affiche href=fiche_mini.php?genre=", $donnees['genre'],"&id=", $donnees['id'], "&carte=1 coords=", $donnees['pos_x']-5,",", $donnees['pos_y']-5,",", $donnees['pos_x']+5,",", $donnees['pos_y']+5, "|>";
}
}
}
//------------------------------------ Mappage des moyens terrestres ------------------------------------------------
if($terrestre==1)
{
$reponse = mysql_query("SELECT id, genre, pos_x, pos_y FROM moyens_terrestre") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
if($donnees['pos_x']!='0' && $donnees['pos_y']!='0')
{
echo" <|area shape='rect' target=zone_affiche href=fiche_mini.php?genre=", $donnees['genre'],"&id=", $donnees['id'], "&carte=1 coords=", $donnees['pos_x']-5,",", $donnees['pos_y']-5,",", $donnees['pos_x']+5,",", $donnees['pos_y']+5, "|>";
}
}
}
echo "<|/form|>";
mysql_close;
?|>
<|/map|>
<|/body|>
<|/html||>
vendredi 17 juillet 2009
Le code
header ("Content-type: image/png"); //définition du header en type image PNG
//------------- Initialisaion connection MySQL ------------------------
mysql_connect("localhost", "root", "root654")OR die(mysql_error());
mysql_select_db("logs_test")OR die(mysql_error());
//------------- Initialisation du support de l'image -----------------------
if($_GET['type_carte']=='medium')
{
//$image_base = ImageCreateFromPNG("images/fond_carte/medium/fond_carte_medium.png");
$image_base = imagecreate(788, 972);
$fond_color_base = ImageColorAllocate($image_base, 255, 255, 255);
Imagecolortransparent($image_base, $fond_color_base);
}
if($_GET['type_carte']=='wide')
{
//$image_base = ImageCreateFromPNG("images/fond_carte/wide/fond_carte_wide.png");
$image_base = ImageCreate(1093, 1349);
$fond_color_base = ImageColorAllocate($image_base, 255, 255, 255);
ImageColorTransparent($image_base, $fond_color_base);
}
// -------------- Calque Bancs de Sable ------------------------------------
if($_GET['sable']==1)
{
if($_GET['type_carte']=='medium') //medium
{
$image_calque = ImageCreateFromPNG("images/fond_carte/medium/sable.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque Bancs de sables transparent
imagecopymerge($image_base, $image_calque, 318, 0, 0, 0, 470, 559, 100);
}
if($_GET['type_carte']=='wide') // WIDE
{
$image_calque = ImageCreateFromPNG("images/fond_carte/wide/sable.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque Bancs de sables transparent
imagecopymerge($image_base, $image_calque, 439, 10, 0, 0, 654, 766, 100);
}
}
// ------------------------- Calque DST ---------------------------------
if($_GET['dst']==1)
{
if($_GET['type_carte']=='medium')
{
$image_calque_dst = ImageCreateFromPNG("images/fond_carte/medium/dst.PNG");
$fond_calque_dst = ImageColorAllocate($image_calque_dst, 100, 100, 100);
Imagecolortransparent($image_calque_dst, $fond_calque_dst); // On rend le fond du calque DST transparent
imagecopymerge($image_base, $image_calque_dst, 11, 1, 0, 0, 779, 625, 100);
}
if($_GET['type_carte']=='wide')
{
$image_calque = ImageCreateFromPNG("images/fond_carte/wide/dst.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque DST transparent
imagecopymerge($image_base, $image_calque, 23, 0, 0, 0, 1068, 878, 100);
}
}
// ------------------------- Calque limites ---------------------------------
if($_GET['limites']==1)
{
if($_GET['type_carte']=='medium')
{
$image_calque = ImageCreateFromPNG("images/fond_carte/medium/limites.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque limites transparent
imagecopymerge($image_base, $image_calque, 2, 28, 0, 0, 788, 849, 100);
}
if($_GET['type_carte']=='wide')
{
$image_calque = ImageCreateFromPNG("images/fond_carte/wide/limites.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque limites transparent
imagecopymerge($image_base, $image_calque, 3, 36, 0, 0, 1093, 1181, 100);
}
}
// -------------------------- Calque meridiens ------------------------
if($_GET['meridiens']==1)
{
if($_GET['type_carte']=='medium')
{
$image_calque = ImageCreateFromPNG("images/fond_carte/medium/meridiens_medium.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque méridiens transparent
imagecopymerge($image_base, $image_calque, 0, 0, 0, 0, 788, 972, 100);
}
if($_GET['type_carte']=='wide')
{
$image_calque = ImageCreateFromPNG("images/fond_carte/wide/meridiens.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque méridiens transparent
imagecopymerge($image_base, $image_calque, 0, 0, 0, 0, 1093, 1342, 100);
}
}
// ------------------------------- Création du calque de positions des moyens --------------------------------------------
//------------- Initialisation des variables couleurs ----------------------
if($_GET['type_carte']=='medium')
{
$image = imagecreate(788, 972);
}
if($_GET['type_carte']=='wide')
{
$image = imagecreate(1093, 1349);
}
$fond = imagecolorallocate($image, 100, 100, 100);
$rouge = imagecolorallocate($image, 255, 0, 0);
$jaune = imagecolorallocate($image, 240, 230, 20);
$bleu = imagecolorallocate($image, 0, 0, 255);
$noir = ImageColorAllocate($image, 0, 0, 0);
$vert = imagecolorallocate($image, 0, 128, 0);
$mauve = imagecolorallocate($image, 160, 75, 180);
$cyan = ImageColorAllocate($image, 30, 220, 200);
$rose = ImageColorAllocate($image, 255, 0, 255);
$orange = ImageColorAllocate($image, 255, 128, 0);
//---------------------Affichage des moyens nautiques ----------------------
if($_GET['aff_nautique']==1)
{
$reponse = mysql_query("SELECT nom, service_associe, etat_actuel, pos_x, pos_y FROM moyens_nautique ORDER BY nom ASC") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
if($donnees['pos_x']!='0' && $donnees['pos_y']!='0')
{
if($donnees['service_associe']=="SNSM")
{$couleur_nom = $orange;}
if($donnees['service_associe']=="Affaires Maritimes")
{$couleur_nom = $noir;}
if($donnees['service_associe']=="Douanes")
{$couleur_nom = $vert;}
if($donnees['service_associe']=="Gendarmerie")
{$couleur_nom = $bleu;}
if($donnees['service_associe']=="Sécurité Civile")
{$couleur_nom = $mauve;}
if($donnees['etat_actuel']=="Disponible")
{$couleur_point = $vert;}
if($donnees['etat_actuel']=="Indisponible")
{$couleur_point = $rouge;}
if($donnees['etat_actuel']=="En Mission")
{$couleur_point = $orange;}
if($donnees['etat_actuel']=="Non Renseigné")
{$couleur_point = $noir;}
ImageFilledEllipse ($image, $donnees['pos_x'], $donnees['pos_y'], 7, 7, $couleur_point);
imagestring($image, 3, $donnees['pos_x']+10, $donnees['pos_y']-5, $donnees['nom'], $couleur_nom);
}
}
}
//----------------------------------- Affichage des moyens Aeriens -------------------------------------------------------
if($_GET['aff_aerien']==1)
{
$reponse = mysql_query("SELECT nom, type, service_associe, etat_actuel, pos_x, pos_y FROM moyens_aerien ORDER BY nom ASC") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
if($donnees['pos_x']!='0' && $donnees['pos_y']!='0')
{
if($donnees['service_associe']=="SNSM")
{$couleur_nom = $orange;}
if($donnees['service_associe']=="Affaires Maritimes")
{$couleur_nom = $noir;}
if($donnees['service_associe']=="Douanes")
{$couleur_nom = $vert;}
if($donnees['service_associe']=="Gendarmerie")
{$couleur_nom = $bleu;}
if($donnees['service_associe']=="Sécurité Civile")
{$couleur_nom = $mauve;}
if($donnees['etat_actuel']=="Disponible")
{$couleur_point = $vert;}
if($donnees['etat_actuel']=="Indisponible")
{$couleur_point = $rouge;}
if($donnees['etat_actuel']=="En Mission")
{$couleur_point = $orange;}
if($donnees['etat_actuel']=="Non Renseigné")
{$couleur_point = $noir;}
if($donnees['type']!="Hélicoptère")
{
ImageFilledRectangle ($image, $donnees['pos_x']-3, $donnees['pos_y']-3, $donnees['pos_x']+3, $donnees['pos_y']+3, $couleur_point);
}
else
{
$points = array($donnees['pos_x']-5, $donnees['pos_y']-3, $donnees['pos_x'], $donnees['pos_y']+3, $donnees['pos_x']+5, $donnees['pos_y']-3);
ImageFilledPolygon ($image, $points, 3, $couleur_point); //polygon
}
imagestring($image, 3, $donnees['pos_x']+10, $donnees['pos_y']-5, $donnees['nom'], $couleur_nom);
}
}
}
//----------------------------------- Affichage des moyens terrestres ------------------------------------------
if($_GET['aff_terrestre']==1)
{
$reponse = mysql_query("SELECT poste, snsm, pos_x, pos_y FROM moyens_terrestre ORDER BY poste ASC") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
ImageFilledEllipse ($image, $donnees['pos_x'], $donnees['pos_y'], 8, 8, $noir);
imagestring($image, 3, $donnees['pos_x']+10, $donnees['pos_y']-5, $donnees['poste'], $noir);
if($donnees['snsm']=='Oui')
{
ImageRectangle ($image, $donnees['pos_x']-8, $donnees['pos_y']-8, $donnees['pos_x']+8, $donnees['pos_y']+8, $rouge);
}
}
}
//-------------------------------- Affichage des Marqueurs -------------------------------------------
if($_GET['aff_ops']==1)
{
$reponse = mysql_query("SELECT nom, type, pos_x, pos_y FROM moyens_ops ORDER BY nom ASC") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
if($donnees['type']=='OPS')
{
ImageLine($image, $donnees['pos_x']-5, $donnees['pos_y']-5, $donnees['pos_x']+5, $donnees['pos_y']+5, $noir);
ImageLine($image, $donnees['pos_x']+5, $donnees['pos_y']-5, $donnees['pos_x']-5, $donnees['pos_y']+5, $noir);
imagestring($image, 3, $donnees['pos_x']+10, $donnees['pos_y']-5, $donnees['nom'], $noir);
}
else
{
ImageFilledEllipse ($image, $donnees['pos_x'], $donnees['pos_y'], 7, 7, $rose);
imagestring($image, 3, $donnees['pos_x']+10, $donnees['pos_y']-5, $donnees['nom'], $noir);
}
}
}
// ------------------------------- Fondu du calque avc le fond de carte ---------------------------------------
imagecolortransparent($image, $fond); // On rend le fond du calque moyens transparent
if($_GET['type_carte']=='medium')
{
imagecopymerge($image_base, $image, 0, 0, 0, 0, 788, 972, 100);
}
if($_GET['type_carte']=='wide')
{
imagecopymerge($image_base, $image, 0, 0, 0, 0, 1093, 1349, 100);
}
imagepng($image_base); //Génération du PNG final
mysql_close;
?>
//------------- Initialisaion connection MySQL ------------------------
mysql_connect("localhost", "root", "root654")OR die(mysql_error());
mysql_select_db("logs_test")OR die(mysql_error());
//------------- Initialisation du support de l'image -----------------------
if($_GET['type_carte']=='medium')
{
//$image_base = ImageCreateFromPNG("images/fond_carte/medium/fond_carte_medium.png");
$image_base = imagecreate(788, 972);
$fond_color_base = ImageColorAllocate($image_base, 255, 255, 255);
Imagecolortransparent($image_base, $fond_color_base);
}
if($_GET['type_carte']=='wide')
{
//$image_base = ImageCreateFromPNG("images/fond_carte/wide/fond_carte_wide.png");
$image_base = ImageCreate(1093, 1349);
$fond_color_base = ImageColorAllocate($image_base, 255, 255, 255);
ImageColorTransparent($image_base, $fond_color_base);
}
// -------------- Calque Bancs de Sable ------------------------------------
if($_GET['sable']==1)
{
if($_GET['type_carte']=='medium') //medium
{
$image_calque = ImageCreateFromPNG("images/fond_carte/medium/sable.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque Bancs de sables transparent
imagecopymerge($image_base, $image_calque, 318, 0, 0, 0, 470, 559, 100);
}
if($_GET['type_carte']=='wide') // WIDE
{
$image_calque = ImageCreateFromPNG("images/fond_carte/wide/sable.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque Bancs de sables transparent
imagecopymerge($image_base, $image_calque, 439, 10, 0, 0, 654, 766, 100);
}
}
// ------------------------- Calque DST ---------------------------------
if($_GET['dst']==1)
{
if($_GET['type_carte']=='medium')
{
$image_calque_dst = ImageCreateFromPNG("images/fond_carte/medium/dst.PNG");
$fond_calque_dst = ImageColorAllocate($image_calque_dst, 100, 100, 100);
Imagecolortransparent($image_calque_dst, $fond_calque_dst); // On rend le fond du calque DST transparent
imagecopymerge($image_base, $image_calque_dst, 11, 1, 0, 0, 779, 625, 100);
}
if($_GET['type_carte']=='wide')
{
$image_calque = ImageCreateFromPNG("images/fond_carte/wide/dst.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque DST transparent
imagecopymerge($image_base, $image_calque, 23, 0, 0, 0, 1068, 878, 100);
}
}
// ------------------------- Calque limites ---------------------------------
if($_GET['limites']==1)
{
if($_GET['type_carte']=='medium')
{
$image_calque = ImageCreateFromPNG("images/fond_carte/medium/limites.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque limites transparent
imagecopymerge($image_base, $image_calque, 2, 28, 0, 0, 788, 849, 100);
}
if($_GET['type_carte']=='wide')
{
$image_calque = ImageCreateFromPNG("images/fond_carte/wide/limites.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque limites transparent
imagecopymerge($image_base, $image_calque, 3, 36, 0, 0, 1093, 1181, 100);
}
}
// -------------------------- Calque meridiens ------------------------
if($_GET['meridiens']==1)
{
if($_GET['type_carte']=='medium')
{
$image_calque = ImageCreateFromPNG("images/fond_carte/medium/meridiens_medium.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque méridiens transparent
imagecopymerge($image_base, $image_calque, 0, 0, 0, 0, 788, 972, 100);
}
if($_GET['type_carte']=='wide')
{
$image_calque = ImageCreateFromPNG("images/fond_carte/wide/meridiens.png");
$fond_calque = ImageColorAllocate($image_calque, 100, 100, 100);
Imagecolortransparent($image_calque, $fond_calque); // On rend le fond du calque méridiens transparent
imagecopymerge($image_base, $image_calque, 0, 0, 0, 0, 1093, 1342, 100);
}
}
// ------------------------------- Création du calque de positions des moyens --------------------------------------------
//------------- Initialisation des variables couleurs ----------------------
if($_GET['type_carte']=='medium')
{
$image = imagecreate(788, 972);
}
if($_GET['type_carte']=='wide')
{
$image = imagecreate(1093, 1349);
}
$fond = imagecolorallocate($image, 100, 100, 100);
$rouge = imagecolorallocate($image, 255, 0, 0);
$jaune = imagecolorallocate($image, 240, 230, 20);
$bleu = imagecolorallocate($image, 0, 0, 255);
$noir = ImageColorAllocate($image, 0, 0, 0);
$vert = imagecolorallocate($image, 0, 128, 0);
$mauve = imagecolorallocate($image, 160, 75, 180);
$cyan = ImageColorAllocate($image, 30, 220, 200);
$rose = ImageColorAllocate($image, 255, 0, 255);
$orange = ImageColorAllocate($image, 255, 128, 0);
//---------------------Affichage des moyens nautiques ----------------------
if($_GET['aff_nautique']==1)
{
$reponse = mysql_query("SELECT nom, service_associe, etat_actuel, pos_x, pos_y FROM moyens_nautique ORDER BY nom ASC") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
if($donnees['pos_x']!='0' && $donnees['pos_y']!='0')
{
if($donnees['service_associe']=="SNSM")
{$couleur_nom = $orange;}
if($donnees['service_associe']=="Affaires Maritimes")
{$couleur_nom = $noir;}
if($donnees['service_associe']=="Douanes")
{$couleur_nom = $vert;}
if($donnees['service_associe']=="Gendarmerie")
{$couleur_nom = $bleu;}
if($donnees['service_associe']=="Sécurité Civile")
{$couleur_nom = $mauve;}
if($donnees['etat_actuel']=="Disponible")
{$couleur_point = $vert;}
if($donnees['etat_actuel']=="Indisponible")
{$couleur_point = $rouge;}
if($donnees['etat_actuel']=="En Mission")
{$couleur_point = $orange;}
if($donnees['etat_actuel']=="Non Renseigné")
{$couleur_point = $noir;}
ImageFilledEllipse ($image, $donnees['pos_x'], $donnees['pos_y'], 7, 7, $couleur_point);
imagestring($image, 3, $donnees['pos_x']+10, $donnees['pos_y']-5, $donnees['nom'], $couleur_nom);
}
}
}
//----------------------------------- Affichage des moyens Aeriens -------------------------------------------------------
if($_GET['aff_aerien']==1)
{
$reponse = mysql_query("SELECT nom, type, service_associe, etat_actuel, pos_x, pos_y FROM moyens_aerien ORDER BY nom ASC") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
if($donnees['pos_x']!='0' && $donnees['pos_y']!='0')
{
if($donnees['service_associe']=="SNSM")
{$couleur_nom = $orange;}
if($donnees['service_associe']=="Affaires Maritimes")
{$couleur_nom = $noir;}
if($donnees['service_associe']=="Douanes")
{$couleur_nom = $vert;}
if($donnees['service_associe']=="Gendarmerie")
{$couleur_nom = $bleu;}
if($donnees['service_associe']=="Sécurité Civile")
{$couleur_nom = $mauve;}
if($donnees['etat_actuel']=="Disponible")
{$couleur_point = $vert;}
if($donnees['etat_actuel']=="Indisponible")
{$couleur_point = $rouge;}
if($donnees['etat_actuel']=="En Mission")
{$couleur_point = $orange;}
if($donnees['etat_actuel']=="Non Renseigné")
{$couleur_point = $noir;}
if($donnees['type']!="Hélicoptère")
{
ImageFilledRectangle ($image, $donnees['pos_x']-3, $donnees['pos_y']-3, $donnees['pos_x']+3, $donnees['pos_y']+3, $couleur_point);
}
else
{
$points = array($donnees['pos_x']-5, $donnees['pos_y']-3, $donnees['pos_x'], $donnees['pos_y']+3, $donnees['pos_x']+5, $donnees['pos_y']-3);
ImageFilledPolygon ($image, $points, 3, $couleur_point); //polygon
}
imagestring($image, 3, $donnees['pos_x']+10, $donnees['pos_y']-5, $donnees['nom'], $couleur_nom);
}
}
}
//----------------------------------- Affichage des moyens terrestres ------------------------------------------
if($_GET['aff_terrestre']==1)
{
$reponse = mysql_query("SELECT poste, snsm, pos_x, pos_y FROM moyens_terrestre ORDER BY poste ASC") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
ImageFilledEllipse ($image, $donnees['pos_x'], $donnees['pos_y'], 8, 8, $noir);
imagestring($image, 3, $donnees['pos_x']+10, $donnees['pos_y']-5, $donnees['poste'], $noir);
if($donnees['snsm']=='Oui')
{
ImageRectangle ($image, $donnees['pos_x']-8, $donnees['pos_y']-8, $donnees['pos_x']+8, $donnees['pos_y']+8, $rouge);
}
}
}
//-------------------------------- Affichage des Marqueurs -------------------------------------------
if($_GET['aff_ops']==1)
{
$reponse = mysql_query("SELECT nom, type, pos_x, pos_y FROM moyens_ops ORDER BY nom ASC") OR die(mysql_error());
while ($donnees=mysql_fetch_array($reponse))
{
if($donnees['type']=='OPS')
{
ImageLine($image, $donnees['pos_x']-5, $donnees['pos_y']-5, $donnees['pos_x']+5, $donnees['pos_y']+5, $noir);
ImageLine($image, $donnees['pos_x']+5, $donnees['pos_y']-5, $donnees['pos_x']-5, $donnees['pos_y']+5, $noir);
imagestring($image, 3, $donnees['pos_x']+10, $donnees['pos_y']-5, $donnees['nom'], $noir);
}
else
{
ImageFilledEllipse ($image, $donnees['pos_x'], $donnees['pos_y'], 7, 7, $rose);
imagestring($image, 3, $donnees['pos_x']+10, $donnees['pos_y']-5, $donnees['nom'], $noir);
}
}
}
// ------------------------------- Fondu du calque avc le fond de carte ---------------------------------------
imagecolortransparent($image, $fond); // On rend le fond du calque moyens transparent
if($_GET['type_carte']=='medium')
{
imagecopymerge($image_base, $image, 0, 0, 0, 0, 788, 972, 100);
}
if($_GET['type_carte']=='wide')
{
imagecopymerge($image_base, $image, 0, 0, 0, 0, 1093, 1349, 100);
}
imagepng($image_base); //Génération du PNG final
mysql_close;
?>
Ce que je voudrais
Explications
Bonjour !
Voici donc mon problème. j'esseye de coder une carte interactive, avec positionnement de bateaux / helicos mise a jour toute les 10sec, le script va chercher les positions dans une DB MySQL. Pour la génération de la carte j'utilise GD. Pour éviter un refresh trop fatiguant pour l'œil de l'utilisateur, j'ai décider de mettre le fond de carte en backround de ma page et d'appeler mon image GD a fond transparent au dessus. L'image GD contient le calque avec les points représentant les bateaux / helico, et divers calques avec des limites administratives, un calques avec les méridiens, bancs de sable etc...
j'avais au début intégré le fond de carte a l'image GD, tout aller a merveille, mais dès que j'ai mis le fond de carte en background j'ai commencer a avoir des soucis.
Pour faire la transparence j'ai mis le fond de tout mes carte sur une couleur ( RGB 100, 100, 100 ) que j'ai rendu transparent après. vu qu'il n'y a plus de fond de carte pour faire la base de l'image GD (et vu que les autres cartes ne sont pas forcement intégré a l'image, c'est selon le choix de l'utilisateur) j'ai créer un calque transparent sur lequel je viens apposer les autres calque.
Depuis que j'ai fais ça, j'ai des problèmes de couleurs, les calques interfèrent entre eux. Vu que mon problème m'amène du gris, j'ai pensé que cela venait de ma couleur de fond rendu transparente, mais après changement de la couleur, j'ai le même problème.
J'ai fais des tests, isolé chaque parties de mon code mais je ne trouve rien, auriez vous une idée? J'ai créer un blog avec des screenshot et mon code si cela vous intéresse.
Merci d'avances a ceux qui voudrons bien m'aider !
Ovedrive.
Voici donc mon problème. j'esseye de coder une carte interactive, avec positionnement de bateaux / helicos mise a jour toute les 10sec, le script va chercher les positions dans une DB MySQL. Pour la génération de la carte j'utilise GD. Pour éviter un refresh trop fatiguant pour l'œil de l'utilisateur, j'ai décider de mettre le fond de carte en backround de ma page et d'appeler mon image GD a fond transparent au dessus. L'image GD contient le calque avec les points représentant les bateaux / helico, et divers calques avec des limites administratives, un calques avec les méridiens, bancs de sable etc...
j'avais au début intégré le fond de carte a l'image GD, tout aller a merveille, mais dès que j'ai mis le fond de carte en background j'ai commencer a avoir des soucis.
Pour faire la transparence j'ai mis le fond de tout mes carte sur une couleur ( RGB 100, 100, 100 ) que j'ai rendu transparent après. vu qu'il n'y a plus de fond de carte pour faire la base de l'image GD (et vu que les autres cartes ne sont pas forcement intégré a l'image, c'est selon le choix de l'utilisateur) j'ai créer un calque transparent sur lequel je viens apposer les autres calque.
Depuis que j'ai fais ça, j'ai des problèmes de couleurs, les calques interfèrent entre eux. Vu que mon problème m'amène du gris, j'ai pensé que cela venait de ma couleur de fond rendu transparente, mais après changement de la couleur, j'ai le même problème.
J'ai fais des tests, isolé chaque parties de mon code mais je ne trouve rien, auriez vous une idée? J'ai créer un blog avec des screenshot et mon code si cela vous intéresse.
Merci d'avances a ceux qui voudrons bien m'aider !
Ovedrive.
Inscription à :
Articles (Atom)