Помощник
|
Капча |
dimjan4
|
Сообщение
#1
|
||
|
|
||
|
|||
MoolkiN |
3.3.2009, 7:44;
Ответить: MoolkiN
Сообщение
#2
|
|
Стоке 48
$color = imagecolorallocate ($im, $vcolor); int imagecolorallocate (resource image, int red, int green, int blue) imagecolorallocate() возвращает идентификатор цвета, представляющий цвет, составленный из данных RGB-компонентов. Аргумент im возвращается от imagecreate(). red, green и blue это значения красного, зелёного и синего компонентов запрашиваемого цвета. Эти параметры являются целыми числами в диапазоне от 0 до 255. imagecolorallocate() обязана вызываться для создания каждого цвета, используемого в изображении image.$white = imagecolorallocate ($im, 255, 255, 255); $black = imagecolorallocate ($im, 0, 0, 0); Возвращает -1, если выделение не удалось. Строка 50 imagettftext ($im ,$vcolor, getcwd().$vfont, $vtext); array imagettftext (resource image, int size, int angle, int x, int y, int col, string fontfile, string text) imagettftext() рисует строку text на изображении image, начиная с координат x, y (верхний левый угол обозначается 0, 0), на угол angle цветом col, с использованием файла шрифта TrueType fontfile. В зависимости от используемой в РНР версии библиотеки GD, если fontfile не начинается с ведущего '/', '.ttf' будет присоединено к имени файла, а библиотека будет пытаться искать файл с таким именем по всему пути шрифтов, определённому для библиотеки. Координаты x, y будут определять базовую точку/basepoint первого символа (ориентировочно - левый верхний угол первого символа). Это отличается от imagestring(), где x, y определяют верхний правый угол первого символа. Angle дан в градусах, где 0 градусов это чтение текста слева направо (направление 3 часа), а более высокие значения представляют ротацию против часовой стрелки (т.е. значение 90 должно дать чтение текста снизу вверх). Fontfile это путь к используемому вами TrueType-шрифту. Text это текстовая строка, которая может включать символьные последовательности UTF-8 (в форме {) для доступа к символам за пределами первых 255. Col это индекс цвета. Использование отрицательных значений даёт эффект отключения antialiasing. imagettftext() возвращает массив из 8 элементов, представляющих 4 точки, образующих бокс текста. Порядок точек таков: нижняя левая, нижняя правая, верхняя правая, верхняя левая. Эти точки относительно текста, вне зависимости от угла, так что "верхний левый" означает верхний левый угол, когда вы смотрите на текст горизонтально. Вот пример скрипта, производящего чёрный GIF 400x30 пикселов со словами "Testing..." белым шрифтом Arial. Пример 1. imagettftext <?php header ("Content-type: image/gif"); $im = imagecreate (400, 30); $black = imagecolorallocate ($im, 0, 0, 0); $white = imagecolorallocate ($im, 255, 255, 255); imagettftext ($im, 20, 0, 10, 20, $white, "/path/arial.ttf", "Testing...Omega: Ω"); imagegif ($im); imagedestroy ($im); ?> Строка 53 ImagePng($im); int imagepng (resource image [, string filename])
imagepng() выводит GD-поток изображения (image) в формате PNG на стандартный вывод (обычно в браузер) или, если задано имя файла аргументом filename, в файл.<?php $im = imagecreatefrompng ("test.png"); imagepng ($im); ?> |
|
|
dimjan4
|
Сообщение
#3
|
|
:cry:Я всё прочёл и не понял в чём ошибка!
|
|
|
dimjan4
|
Сообщение
#4
|
|
А вы не можете сказать, начало то у меня правильное:
[PHP]<?php /////////////////////////CONFIGURATION////////////////////// /////несколько слов///// $text = array(); $text[] = "asoe"; $text[] = "fhfvd"; $text[] = "ruhfs"; $text[] = "vftte"; $text[] = "phes"; $text[] = "rfyhf"; $text[] = "lsegv"; $text[] = "fdvhhn"; $text[] = "pjgfv"; $text[] = "vghyhk"; //////Несколько шрифтов/////// $font = array(); $font[] = "FDMedian.ttf"; $font[] = "Buff.ttf"; $font[] = "DeadbdS_.ttf"; //////Несколько цветов/////// $colorw = array(); $colorw[] = "255, 0, 0"; //Красный $colorw[] = "0, 255, 0"; //зелёный $colorw[] = "0, 0, 255"; //синий $colorw[] = "255, 0, 255";//яро-филетовый $colorw[] = "100, 0, 100";//фолетовый $colorw[] = "0, 0, 0";//чёрный ///////////////////////FUNCTION////////////////////////// #Случайный текст // Генерируем случайный индекс массива $index1 = rand(0,count($text) - 1); // Выводим случайный элемент массива $vtext = $arr[$index1]; #Случайный шрифт // Генерируем случайный индекс массива $index2 = rand(0,count($font) - 1); // Выводим случайный элемент массива $vfont = $arr[$index2]; #Случайный цвет // Генерируем случайный индекс массива $index3 = rand(0,count($colorw) - 1); // Выводим случайный элемент массива $vcolor = $arr[$index3]; //////////////////////////////// [/PHP] ??:wacko: |
|
|
Ворон |
5.3.2009, 20:56;
Ответить: Ворон
Сообщение
#5
|
|
dimjan4, заранее извиняюсь за вероятный оффтоп.
я вижу, что вы сильно мучаетесь с созданием капчи. мне кажется, что вот такой пример легче реализуется (проверка повешена на отправку. заполните поля, нажмите отправить и посмотрите на капчу). |
|
|
dimjan4
|
Сообщение
#6
|
|
|
Да, в инете много скриптов капчи, но того, что мне надо- нет! Я хочу , чтобы в этом скрипте можно было добавлять свои шрифты, слова (буквы+цифры) , цвет! Если в инете есть такой скрипт, пожалуйста , помогите найти.
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Качественная регистрация в 3046 каталогов+ капча | 10 | shtaketo | 6166 | 25.2.2008, 11:38 автор: vadim |
Текстовая версия | Сейчас: 24.4.2024, 0:14 |