Ваш надежный партнер в интернете http://www.rucable.net/

Хостинг в Германии, выделенные сервера , виртуальный хостинг, регистрация доменов. Управление DNS в реальном времени.
Ваш надежный партнер в интернете www.rucable.net

Арендовать сервер


Вернуться на главную - Обзор статей
 Полезные статьи :: Создание изображений в GD с помошью PERL

В этой статье я постараюсь разобрать создание изображений в библиотеке GD с помощью PERL интерпретатора. Для того чтобы убедиться, что библиотека GD установлена на Вашем сервере, создайте простой скрипт, с названием test.pl

#!/usr/bin/perl
print "Content-type: text/html\n\n";
use GD;
1;
                    

Сохраните файл, убедитесь что он имеет права на запуск(chmod +x test.pl), и далее попробуйте запустить этот скрипт через Shell

./test.pl
                    

или в строке браузера

http://www.other-host.ru/test.pl
                    

Если скрипт выдал пустую страничку, то у Вас установленна библиотека GD и можно продолжить дальше. Если все же появились собщения, примерно такого вида:

Can't locate GD.pm in @INC (@INC contains:
/usr/local/lib/perl5/site_perl/5.8.5/mach
/usr/local/lib/perl5/site_perl/5.8.5
/usr/local/lib/perl5/site_perl
/usr/local/lib/perl5/5.8.5/BSDPAN
/usr/local/lib/perl5/5.8.5/mach
/usr/local/lib/perl5/5.8.5 .) at ./test.pl line 3.
BEGIN failed--compilation aborted at ./test.pl line 3.
                    

Это говорит о том, что требуется установить вышеназванную библиотеку на сервер. Так как эта библиотека требует так же другие библиотеки, Вам необходимо просить об установке GD Вашего системного администратора.

Создание изображения в GD

Мы попробуем создать простое изображение, и залить его например белым цветом:

#!/usr/bin/perl
use strict;
use GD;
#инициализируем переменные
my ($img, $red, $blue, $white, $black);

#Создаем новую картинку с размерами 100x100 (width X height);
$img = new GD::Image(100,100);

#Создаем белый цвет. Он нужен для работы (R,G,B)
$white = $img->colorAllocate(255,255,255);

#Создаем красный цвет (R,G,B)
$red = $img->colorAllocate(255,0,0);

#Создаем синий цвет (R,G,B)
$blue = $img->colorAllocate(0,0,255);

#Создаем черный цвет (R,G,B)
$black = $img->colorAllocate(0,0,0);

#Рисуем окантовку по краю квадрата синего цвета
$img->rectangle(0,0,99,99,$blue);

#Заливаем квадрат белым цветом
$img->fill(50,50,$white);

#Выводим изображение в браузер
binmode STDOUT;
print "Content-type: image/png\n\n";
print $img->png;
exit;
                    

У нас получится следующая картинка: http://www.rucable.net/cgi-bin/gd-image-test.pl

Теперь давайте сделаем надпись на этой картинке:

#!/usr/bin/perl
use strict;
use GD;
#инициализируем переменные
my ($img, $red, $blue, $white, $black, $green);

#Создаем новую картинку с размерами 100x100 (width X height);
$img = new GD::Image(100,100);
$white = $img->colorAllocate(255,255,255);
$red = $img->colorAllocate(255,0,0);
$blue = $img->colorAllocate(0,0,255);
$green = $img->colorAllocate(0,255,0);
$black = $img->colorAllocate(0,0,0);
$img->rectangle(0,0,99,99,$blue);
$img->fill(50,50,$white);

#Пишем фразу Hello world
$img->string(GD::Font->Tiny,36,15,'Hello world!', $black);
binmode STDOUT;
print "Content-type: image/png\n\n";
print $img->png;
exit;
                    
У нас получится следующая картинка: http://www.rucable.net/cgi-bin/gd-image-test-with-text.pl
Дополнительные размеры шрифтов:

Просто добавьте в код после #Пишем фразу Hello world

#Giant, Large, MediumBold, Small Tiny.
$img->string(GD::Font->Tiny,10,10,'Tiny FONT', $red);
$img->string(GD::Font->Large,10,20,'Large FONT', $black);
$img->string(GD::Font->MediumBold,10,40,'MediumBold', $blue);
$img->string(GD::Font->Small,10,55,'Small FONT', $black);
$img->string(GD::Font->Giant,10,75,'Giant FONT', $green);

Просмотрим изображение? http://www.rucable.net/cgi-bin/gd-image-test-with-text-advanced.pl

Стало интересно как создавать изображения?
Читайте далее о других опциях GD библиотеки через шелл набрав команду #man GD
так же можно посетить OnLine версию справки GD библиотеки от CPAN

К справке: мы предоставляем хостинг с предустановленными опциями GD, в чем Вы уже убедились просмотрев выше картинки созданные на этом сервере. Все наши сервера, которые обслуживают виртуальный хостинг, имеют предустановленное программное обеспечение библиотек PERL для создания изображений в GD.

Текущая версия PERL: http://www.rucable.net/cgi-bin/test-perl-version.pl This is perl, v5.8.8 built for i386-freebsd-64int (with 1 registered patch, see perl -V for more detail) Copyright 1987-2006, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page.


WebMoney, WesternUnion, Банковские переводы в Германию, Contact-sys

Наши новости

Новая сеть RuCable, расширение деятельности, перенос ns3.dnszone.ru, весенние предложения.

2008.03.16

1. Организация расширяет деятельность. Sano media арендует новые стойки в серверном помещении E-discom.
В связи с этим организуется третий сервер имен и расширяются возможности для работы, а так же возможности для
выгодного размещения Вашего оборудования.

2. Обновления в панеле.
Исправление ошибок, добавление инструментов. Мы делаем Вашу работу удобней!

3. Новые сервера, по более выгодным ценам. Предложение ограничено в количестве.

Изменения в именах DNS (Nameserver)

2008.02.14

Изменения в именах DNS (Nameserver)

Новости www.rucable.net && Sano media

2007.03.09

1. Обновление в интерфейсах https://cp.rucable.net
2. Доступна автоматическая регистрация доменов .RU.
3. Новые сервера - новые возможности - новые идеи.


Для клиентов

Аккаунт через безопасное SSL соединение.

Регистрация нового пользователя
Если Ваш браузер не поддерживает SSL, нажмите сюда

   

 

 |  Актуально |  Услуги |  Справка |  О компании |  Почта клиентов |  Форум |  Общие правила |  Наши клиенты | 
 |  Панель управления |  Полезные статьи |  Связаться с нами |  Распродажи и предложения |  Регистрация доменных имен | 
 |  Карта сайта | 

#Услуги на www.rucable.net #Новости компании #Помощь - FAQ #Статьи для чтения #Связаться с нами
 |  В помощь системному администратору  |  Интернет-аукцион в России  | 
© RuCable - проект Sano media AG 2004-2008
Webmoney Passport