Дадим отпор грубой силе! Докучаев Дмитрий aka Forb Xakep, номер #059, стр. 059-062-2 Установка модуля GD После того как все либы скачаны, можно приступать к установке перлового модуля. Сливаем его по адресу www.perl.com/CPAN/authors/id/L/LD/LDS/GD-2.07.tar.gz и распаковываем. Теперь запускаем скрипт Makefile.PL (при помощи интерпретатора perl). У тебя спросят, включать ли поддержку JPEG, PNG, Freetype и XPM. На JPEG и PNG отвечай положительно, а на оставшиеся два можешь отказать. В нашем примере они тебе не понадобятся. В результате всех проделанных манипуляций сценарий создаст новый файл Makefile. Теперь можешь смело набирать make и make install. Если ты все сделал правильно, то установка пройдет без ошибок. Гораздо больше не повезло обладателям хостинга с неустановленной библиотекой libgd. Здесь придется немного помучиться, чтобы заставить GD работать. Во-первых, инсталлировать либы надо в отдельную директорию, к которой есть полный доступ (например, /home/user/gdlib). Для этого укажи скрипту configure параметр --prefix и путь для установки. Во-вторых, Makefile.PL пускается с опцией LIB=/path/to/lib. Так скрипт сможет найти все необходимые библиотеки для правильной работы модуля. Клепаем картинку Чтобы создать изображение (пока пустое), используется конструктор new объекта GD. Конструктору необходимо передать размер картинки по осям X и Y. Например, если тебе нужно создать картинку 40х40, то напиши следующий код: $image = GD::IMAGE->new(40, 40); Правда, перед этим не забудь поставить строку use GD. Таким образом ты сообщишь интерпретатору, чтобы он подгрузил необходимый модуль. Сразу после вызова конструктора полезно определить цвета, которые будут использоваться в твоей картинке. Пусть это будет черный (фон) и белый (цифры) цвет: $white = $image->colorAllocate(255, 255, 255); $black = $image->colorAllocate(0, 0, 0); После того как изображение создано, с ним надо что-то сделать. GD дает огромный выбор возможностей наложения различных геометрических фигур на картинку. Нас же интересует обычный прямоугольник :). Мы положим сгенерированный цифровой код на черный квадрат размером 50х50. Рисовать сам прямоугольник будем при помощи метода rectangle: $image->rectangle(0, 0, 50, 50, $black); Параметры у метода rectangle следующие: начальные и конечные координаты будущего прямоугольника, а также цвет геометрической фигуры. После вызова rectangle мы получаем незакрашенный прямоугольник. Теперь нам надо сделать внутри него заливку. На помощь приходит метод fill, заливающий указанную зону определенным цветом: $image->fill(49, 49, $black); Теперь осталось отобразить какое-нибудь число на картинке. Пусть это будет значение 1000. Надпись мы сделаем методом string: $image->string(gdGiantFont, 5, 15, "1000", $white); Константа gdGiantFont указывает на размер шрифта. Мы выбрали самый большой шрифт. Далее идут начальные координаты для строки, потом сама строка и ее цвет. |