В принципе нечего тут рассказывать, просто выложу прокомментированный код и приложу архив со всем остальным
В итоге должно получится следующее:
В html на время тестов можно прописать что-то типа такого:
Php-скрипт выдает картинку в качестве результата благодаря записи header('Content-Type: image/png'), позже её надо бы убрать, а саму картинку сохранять на сервере
Ссылка на архив с шрифтом и шаблоном
Ну и конечно же можно генерить BB-коды и просто ссылки для вставки в html
В итоге должно получится следующее:
<?php // Тип содержимого header('Content-Type: image/png'); define('FONT_NAME', 'trebuc.ttf');//имя шрифта define('FONT_SIZE', 9);//кегль define('SPACING', 1);//расстояние между символами $im = imagecreatefrompng('userbar_template.png')//достаем "подложку" юзербара or die('Cannot create image'); define('WIDTH', imagesx($im)); define('HEIGHT', imagesy($im)); // Создание цветов $white = imagecolorallocate($im, 255, 255, 255); $grey = imagecolorallocate($im, 128, 128, 128); $yellow = imagecolorallocate($im, 255, 216, 0); $black = imagecolorallocate($im, 0, 0, 0); // Текст надписи $text = "Введите название..."; //определяем нужный для нашего текста размер области $coord = imagettfbbox( FONT_SIZE, // размер шрифта 0, // угол наклона шрифта (0 = не наклоняем) FONT_NAME, // имя шрифта, а если точнее, ttf-файла $text // собственно, текст ); $width = $coord[2] - $coord[0]; $height = $coord[1] - $coord[7]; // Зная ширину и высоту изображения, располагаем текст по центру: //$X = (WIDTH - $width) / 2; $Y = (HEIGHT + $height) / 2.5; // Тень imagettftextSp($im, FONT_SIZE, 0, 11, $Y, $white, FONT_NAME, $text, SPACING); // Текст imagettftextSp($im, FONT_SIZE, 0, 10, $Y, $white, FONT_NAME, $text, SPACING); // Достаем вторую, верхнюю часть шаблона $cover = imagecreatefrompng('userbar_template_cover.png') or die('Cannot create image'); // Накладываем её поверх нашего супер-юзербара imagecopy ($im, $cover, 0, 0, 0, 0, WIDTH, HEIGHT); imagepng($im); imagedestroy($im); // Функция эта украдена уже не помню у кого и где, но автору большая от меня благодарность - именно благодаря ей можно управлять расстоянием между символами, ибо стандартные средства этого не предусмотрели О_О function imagettftextSp($image, $size, $angle, $x, $y, $color, $font, $text, $spacing = 0) { if ($spacing == 0){imagettftext($image, $size, $angle, $x, $y, $color, $font, $text);} else { $temp_x = $x; for ($i = 0; $i < strlen($text); $i++) { $bbox = imagettftext($image, $size, $angle, $temp_x, $y, $color, $font, mb_substr($text,$i,1,'UTF-8')); $temp_x += $spacing + ($bbox[2] - $bbox[0]); } } } ?>
<img src="userbar.php">
Ссылка на архив с шрифтом и шаблоном
Ну и конечно же можно генерить BB-коды и просто ссылки для вставки в html
//BB-code $res = $res."[url=".ссылка на вашу страницу."][img]".ссылка на юзербар."[/img][/url]"; //HTML $res = $res."<a target=\"_blank\" href=\"".ссылка на вашу страницу."\"><img src=\"".ссылка на юзербар."\" border=\"0\"></a>";
Самый крутой портал Груз и Вагон http://gruzivagon.ru/
ОтветитьУдалить