function init_wanted($id_troll) { $lesTrolls = selectDbTrolls($id_troll); $res = $lesTrolls[1]; $lesVengeances = selectDbVengeances($id_troll); $nb_vengeances = count($lesVengeances); $lesGriefs = selectDbGriefs($id_troll); $nb_griefs = count($lesGriefs); $impact = PATH_IMG . "wanted_impact_{$nb_vengeances}.png"; if ($res[nom_image_troll] != "") { $fp = @fopen($res["nom_image_troll"], "r"); } else { $fp = false; } /* print_r($res); die("test $res[nom_image_troll]");*/ $images = array(ImageCreateFromPng(PATH_IMG . "wanted_fond.png"), ImageCreateFromPng(PATH_IMG . "wanted_fond.png"), ImageCreateFromPng(PATH_IMG . "wanted_transparent.png"), ImageCreateFromPng($impact), ImageCreateFromPng(PATH_IMG . "wanted_grief_{$nb_griefs}.png")); if ($fp == false) { $images[2] = ImageCreateFromPng(PATH_IMG . "wanted_interrogation.png"); } elseif (preg_match("/.*(png|Png|PNG)/", $res["nom_image_troll"])) { $img = ImageCreateFromJpeg($res["nom_image_troll"]); } elseif (preg_match("/.*(jpg|jpeg|JPG|JPEG)/", $res["nom_image_troll"])) { $img = ImageCreateFromJpeg($res["nom_image_troll"]); } elseif (preg_match("/.*(gif|Gif|GIF)/", $res["nom_image_troll"])) { $img = ImageCreateFromGif($res["nom_image_troll"]); } elseif (preg_match("/.*mountyhall.*Blason_PJ*./", $res["nom_image_troll"])) { $img = @ImageCreateFromGif($res["nom_image_troll"]); if (!$img) { $img = @ImageCreateFromJpeg($res["nom_image_troll"]); if (!$img) { $img = @ImageCreateFromPng($res["nom_image_troll"]); if (!$img) { $fp = false; } } } } else { $images[2] = ImageCreateFromPng(PATH_IMG . "wanted_interrogation.png"); fclose($fp); $fp = false; } if ($fp != false) { $img_src_w = imagesx($img); $img_src_h = imagesy($img); $img_dest_w = 43; //150 75 33 $img_dest_h = 55; // 231 115 55 imagecopyresized($images[2], $img, 30, 44, 0, 0, $img_dest_w, $img_dest_h, $img_src_w, $img_src_h); fclose($fp); } $image = imagemergealpha($images); /* -------- Destruction ------- */ foreach ($images as $img) { ImageDestroy($img); } putenv('GDFONTPATH=' . realpath('.')); $font = "Wanted"; $font_size = 5; $noir = ImageColorAllocate($image, 0, 0, 0); //imagettftext($image, $font_size, 0, 10, 38, $noir, $font, $res['nom_troll']); imagestring($image, 2, 10, 30, $res['nom_troll'], $noir); //imagettftext($image, $font_size, 0, 10, 38, $noir, $font, $res['nom_troll']); /* -------- Génération ------- */ /* ImagePng($image,PATH_IMG.'cache/'.$res[nom_image_troll]."_avatar.png"); */ /* -------- Cache -------- */ $fondclair = ImageCreateFromPng(PATH_IMG . 'wanted_fond.png'); $gifclair = imagemergealpha(array($fondclair, $image)); $back_color = imagecolorallocate($gifclair, 0xa9, 0xb1, 0xd3); ImageTrueColorToPalette($gifclair, false, 256); ImageGif($gifclair, PATH_IMG . "cache/wanted_{$id_troll}.gif"); /* -------- Affichage -------- */ //Header('Content-Type: image/gif'); // BUG PHP5 //ImageGif($gifclair); $string = file_get_contents(PATH_IMG . "cache/wanted_{$id_troll}.gif"); echo $string; ImageDestroy($fondclair); ImageDestroy($gifclair); }
function init_avatar($id_avatar) { $lesTrolls = selectDbTrolls($id_avatar); $nbTrolls = count($lesTrolls); $res = $lesTrolls[1]; if (file_exists(PATH_IMG . $res["nom_image_troll"] . "_avatar.png")) { $nom_image_troll = PATH_IMG . $res["nom_image_troll"] . "_avatar.png"; } else { $nom_image_troll = PATH_IMG . "inconnu.png"; } if (file_exists(PATH_IMG . $res["nom_image_troll"] . "_avatar.gif") && isset($_REQUEST["sombre"])) { $nom_image_troll_gif = PATH_IMG . $res["nom_image_troll"] . "_avatar.gif"; } if (file_exists(PATH_IMG . 'race/' . $res["race_troll"] . ".png")) { $race_troll = PATH_IMG . 'race/' . $res["race_troll"] . ".png"; } else { $race_troll = PATH_IMG . 'distinct/' . "aucune.png"; } if (file_exists(PATH_IMG . 'nivo/' . $res["niveau_troll"] . ".png")) { $niveau_troll = PATH_IMG . 'nivo/' . $res["niveau_troll"] . ".png"; } else { $niveau_troll = PATH_IMG . 'distinct/' . "aucune.png"; } $rang = $res["num_rang_troll"]; $nom_image = "aucune.png"; switch ($rang) { case 20: $nom_image = "roi.png"; break; case 19: $nom_image = "sergent.png"; break; case 18: $nom_image = "general.png"; break; case 17: $nom_image = "taulier.png"; break; case 16: $nom_image = "scribe.png"; break; case 15: $nom_image = "sergent.png"; break; case 14: $nom_image = "happyface.png"; break; case 13: $nom_image = "barons.png"; break; case 12: $nom_image = "capitaines.png"; break; case 11: $nom_image = "heros.png"; break; case 10: case 9: case 8: case 7: case 6: case 5: case 4: break; case 3: $nom_image = "lone_ranger.png"; break; case 2: case 1: break; } $nom_image_distinction = PATH_IMG . 'distinct/' . $nom_image; //$nom_image_distinction = $res[nom_image_distinction]; if (!file_exists($nom_image_distinction)) { $nom_image_distinction = PATH_IMG . "distinct/aucune.png"; } if ($res["niveau_troll"] < 5) { $image_rang = PATH_IMG . 'rang/' . "tetine.png"; } elseif ($res["niveau_troll"] < 10) { $image_rang = PATH_IMG . 'distinct/' . "aucune.png"; } elseif ($res["niveau_troll"] < 20) { $image_rang = PATH_IMG . 'rang/' . "rang1.png"; } elseif ($res["niveau_troll"] < 30) { $image_rang = PATH_IMG . 'rang/' . "rang2.png"; } elseif ($res["niveau_troll"] < 40) { $image_rang = PATH_IMG . 'rang/' . "rang3.png"; } elseif ($res["niveau_troll"] < 50) { $image_rang = PATH_IMG . 'rang/' . "rang4.png"; } elseif ($res["niveau_troll"] < 100) { $image_rang = PATH_IMG . 'rang/' . "rang5.png"; } if (empty($_REQUEST["sombre"])) { $images = array(imagecreatefrompng("images/avatars/fondclair.png"), imagecreatefrompng("images/avatars/fond.png"), imagecreatefrompng($nom_image_troll), imagecreatefrompng($race_troll), imagecreatefrompng($niveau_troll), imagecreatefrompng($nom_image_distinction), imagecreatefrompng($image_rang)); $image = imagemergealpha($images); foreach ($images as $img) { ImageDestroy($img); } } else { $imagepng = imagecreatefrompng("images/avatars/fondsombre.png"); $imagegif = imagecreatefrompng("images/avatars/fondsombre.png"); $fondAvatar = imagecreatefrompng("images/avatars/fond.png"); $avatarpng = imagecreatefrompng($nom_image_troll); $avatargif = imagecreatefromgif($nom_image_troll_gif); imagealphablending($fondAvatar, true); imagesavealpha($fondAvatar, true); imagealphablending($avatarpng, true); imagesavealpha($avatarpng, true); imagecopy($imagepng, $fondAvatar, 0, 0, 0, 0, 110, 110); imagecopy($imagepng, $avatarpng, 0, 0, 0, 0, 110, 110); imagetruecolortopalette($imagepng, false, 256); imagecopy($imagegif, $fondAvatar, 0, 0, 0, 0, 110, 110); imagecopy($imagegif, $avatargif, 0, 0, 0, 0, 110, 110); imagetruecolortopalette($imagegif, false, 256); } /* -------- Cache -------- */ if (empty($_REQUEST["sombre"])) { header('Content-Type: image/gif'); $fondclair = imagecreatefrompng(PATH_IMG . 'fondclair.png'); $gifclair = imagemergealpha(array($fondclair, $image)); imagecolorallocate($gifclair, 0xa9, 0xb1, 0xd3); imagetruecolortopalette($gifclair, false, 256); imagegif($gifclair, PATH_IMG . 'cache/' . $res["nom_image_troll"] . "_avatar.gif"); //BUG PHP5 imageGif($gifclair); echo file_get_contents(PATH_IMG . 'cache/' . $res["nom_image_troll"] . "_avatar.gif"); imagedestroy($fondclair); imagedestroy($gifclair); imagedestroy($image); } else { imagegif($imagepng, PATH_IMG . 'cache/' . $res["nom_image_troll"] . "_avatar_bleu.gif"); imagegif($imagegif, PATH_IMG . 'cache/' . $res["nom_image_troll"] . "_avatar_bleu_2.gif"); // BUG PHP5 ImageGif($gifsombre); echo "<img src='" . PATH_IMG . 'cache/' . $res["nom_image_troll"] . "_avatar_bleu.gif'/>"; echo "<img src='" . PATH_IMG . 'cache/' . $res["nom_image_troll"] . "_avatar_bleu_2.gif'/>"; imagedestroy($imagepng); imagedestroy($imagegif); } }