Pewnie nie raz chcielibyście pochwalić się znajomym swoimi osiągnięciami w jakiejś grze przez przeglądarkę. Wasza grafika chwały mogłoby wyglądać np. tak:
Takie efektowne odznaczenie można zrobić przy użyciu kodu PHP. Oczywiście może ono wyglądać totalnie inaczej, ale to już zależy od waszej fantazji. Poniżej możecie zobaczyć kod, który generuje podobne sygnaturki:
$id = 1; // Tutaj podajecie ID dla którego chcecie wygenerować obrazek $data = date("Y-m-d"); $poziom = $db -> EXECUTE("SELECT id, user, rasa, klasa, level, avatar FROM players WHERE id=".$id." LIMIT 1"); $file = 'adres/avatara/'.$poziom -> fields['avatar'].''; $ext = explode(".",$poziom -> fields['avatar']); // u mnie avatar ma postać ID.ext więc takie rozwiązanie zadziała w innym wypadku trzeba użyć innej metody ^^ switch($ext[1]) { case 'png': $avek = imagecreatefrompng($file); break; case 'gif': $avek = imagecreatefromgif($file); break; case 'jpeg': $avek = imagecreatefromjpeg($file); break; case 'jpg': $avek = imagecreatefromjpeg($file); break; default: continue; } $avek_width = imagesx($avek); // sprawdzamy wymiary avatara $avek_height = imagesy($avek); $img = imagecreatetruecolor(343,250); // tworzymy grafikę główną $color1 = imagecolorallocate($img, 244, 250, 251); $color2 = imagecolorallocate($img, 255, 0, 30); $poziom -> fields['user'] = explode(" ",$poziom -> fields['user']); // wycinam pierwszą część imienia imagettftext($img, 18, 0, 10, 30, $color1, 'fonts/Maszyna.ttf', iconv("ISO-8859-2", "UTF-8",'Kroniki Fallathanu')); // nanoszę na obrazek nazwę gry imagecopy ($img, $avek, 13, 40, 0,0, $avek_width, $avek_height); // nanoszę na obrazek avatar imagettftext($img, 12, 0, 170, 55, $color2, 'fonts/Maszyna.ttf', $poziom -> fields['user'][0].' - '.$poziom -> fields['id'].''); // nanoszę na obrazek ID imagettftext($img, 8, 0, 170, 80, $color1, 'fonts/Maszyna.ttf', iconv("ISO-8859-2", "UTF-8",'Rasa: '.$poziom -> fields['rasa'])); // nanoszę na obrazek rasę imagettftext($img, 8, 0, 170, 100, $color1, 'fonts/Maszyna.ttf', iconv("ISO-8859-2", "UTF-8",'Klasa: '.$poziom -> fields['klasa'])); // nanoszę na obrazek klasę imagettftext($img, 8, 0, 170, 120, $color1, 'fonts/Maszyna.ttf', iconv("ISO-8859-2", "UTF-8",'Poziom: '.$poziom -> fields['level'])); // nanoszę na obrazek poziom // Na opis koniecznie 15 znaków linijka imagettftext($img, 8, 0, 170, 160, $color1, 'fonts/Maszyna.ttf', iconv("ISO-8859-2", "UTF-8",'Najlepszy w grze')); imagettftext($img, 8, 0, 170, 180, $color1, 'fonts/Maszyna.ttf', iconv("ISO-8859-2", "UTF-8",'xxxxxxx')); imagettftext($img, 8, 0, 170, 200, $color1, 'fonts/Maszyna.ttf', iconv("ISO-8859-2", "UTF-8",'(xxxxxx)')); imagettftext($img, 8, 0, 12, 240, $color1, 'fonts/Maszyna.ttf', iconv("ISO-8859-2", "UTF-8",'Oficjalne odznaczenie')); imagettftext($img, 8, 0, 222, 240, $color1, 'fonts/Maszyna.ttf', iconv("ISO-8859-2", "UTF-8",'Data: '.$data)); imagepng($img, '/folder/zapisu/grafiki/'.$id.'.png'); // zapisujemy plik na serwerze print '<img src="http://adres/obrazka/'.$id.'.png" alt="" />'; $poziom -> Close();
W ten oto prosty sposób możemy stworzyć sygnaturki, odznaczenia dla graczy. Czcionkę użytą w przykładzie ściągniecie z załącznika.
Jeśli chcemy użyć wszystkich możliwości biblioteki GD zapraszam do zapoznania się z tym artykułem:
http://wortal.php.pl/wortal/artykuly/php/biblioteki/generowanie_grafiki_w_php






