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;
?>
Inscription à :
Publier les commentaires (Atom)
Aucun commentaire:
Enregistrer un commentaire