[help] вывод чисел картинками

Тема в разделе "PHP", создана пользователем Welho®, 11 ноя 2008.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Welho®

    Welho® Предвестник пьянки

    Регистр.:
    4 дек 2007
    Сообщения:
    855
    Симпатии:
    331
    есть у меня некая переменная, например $example, которая в свою очередь возвращает некие числа, мне нужно чтобы возвращаемые ею числа отображались не цифрами, а картинками, которые я нарисую, соответственно отрисую каждой цифре свою картинку и так от 0 до 9
    прошу дать пинок в нужном направлении, потому как готового или похожего скрипта не нашел(чем-то схоже с принципом генерации капчи, но в ней сессии, а это меня еще больше путает), и буду благодарен если приведете пример реализации, сам не реализую, потому как пока на этом поприще малова-то знаний.
     
  2. RolCom

    RolCom

    Регистр.:
    12 мар 2008
    Сообщения:
    351
    Симпатии:
    108
    Чобы вывести текст на картинку- функция GD библиотеки imagettftext.
     
  3. unsiker

    unsiker

    Регистр.:
    6 июн 2008
    Сообщения:
    465
    Симпатии:
    172
    Тема осуждалась не раз ... в PHP ты сразу можеш рисовать

    [Guide] Создание картинки с текстом
    http://www.nulled.ws/showthread.php?t=69209
     
    Welho® нравится это.
  4. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    Вот пример:

    <?php
    header("Content-type: image/png");
    $height=80;
    $font_size=40;
    $kolvo_bukv=mt_rand(4,6);
    $kolvo_bukv1=6;
    $width=$font_size*($kolvo_bukv1+1);
    $im = @imagecreate($width*1.1, $height*1.1)
    or die("Cannot Initialize new GD image stream");
    $background_color = imagecolorallocate($im, 255, 255, 255);
    $color_font = imagecolorallocate($im, 0, 0, 0);

    for($i = 0; $i < $kolvo_bukv; ++$i) {
    $font=random_font();
    $string=random_string(1);
    $color_font = imagecolorallocate($im, mt_rand(0,200), mt_rand(0,200), mt_rand(0,200));
    imagettftext($im, $font_size, 0, $i*$font_size+$font_size/2, $height-$font_size/2, $color_font, $font, $string);

    }
    imagepng($im);
    imagedestroy($im);
    $im='';
    //*****************************
    function random_string($len) // выбор случайной буквы
    {
    $string = "";
    $chars = array("a", "b", "c", "d", "e", "f", "g", "h",
    "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s",
    "t","u", "v", "w", "x", "y", "z", "A", "B", "C", "D",
    "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O",
    "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",
    "0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); */

    for($i = 0; $i < $len; ++$i)
    {
    shuffle($chars); // возвращает случайный элемент массива
    $string .= $chars[0];
    }
    return $string;
    }
    //**************************
    function random_font() // выбор случайного шрифта
    {
    $string = 'fonts/0('.mt_rand(0,131).').ttf';
    return $string;
    }
    ?>

    В капче заложено использование нескольких шрифтов.
    Капчу вывожу с помощью тег IMG . Если использовать один любой из этих шрифтов, то все нормально отображается, если использовать сразу несколько шрифтов, то капча появляется через раз. Смотрел прогой unlocker. Она показывает, что шрифт блокируется апачем (аналог блокировки текстовых документов перед записью). Может кто знает что подправить?
     
Статус темы:
Закрыта.