[ Поиск ] - [ Пользователи ] - [ Календарь ]

Perl-скриптинг в Рязани и Рязанской области :

Перейти на полную версию
Perl-скриптинг - в Рязани
Marlik
Этот скрипт генерит случайный номер, берет графический файл *.PNG, вставляет туда сгенеренное число, выводит в браузер.

Код

#!/usr/bin/perl -w
use strict;
use CGI;
use CGI::Carp 'fatalsToBrowser'; #Выводим сообщение об ошибке в браузер
my $cgi = new CGI;
use GD;                        #Подключаем графическую библиотеку
my $number = int(rand(485264)); #Генерим число
my $fname = "tmp/shablon.PNG"; #Где хранится картинка, типа фон для рисунка
my $new = "tmp/graf.PNG";     #Куда сохраняется новый образец
my $width = 14;
my $height = 4;
open(DD,"<$fname") || die;
my $im = newFromPng GD::Image('DD') || die;
close(DD);
 my  $white = $im->colorAllocate(255,255,255);
  my  $black = $im->colorAllocate(0,0,0);      
  my  $red = $im->colorAllocate(255,0,0);      
  my $blue = $im->colorAllocate(0,150,255);
    $im->transparent($white);
    $im->interlaced('true');
    $im->fill(50,50, $blue);
 
$im->string(gdGiantFont,$width,$height,$number,$black);

open(PNG,">$new") || die;
binmode(PNG);
print PNG $im->png;
close(PNG);  
print $cgi->header( -charset => 'Windows-1251' );
 binmode(STDOUT);
 print $im->png;  #Показываем в браузере
exit(0);                      

Это простенький скрипт, здесь не используются проверки на наличие файла, не используются кручение цифр по спирали, отсутствуют зашумление пикселами и т. д. Но для простенькой страницы не представляющей интереса для хулиганов сгодится.
bukan
Marlik
а щас вроде везде GD2 стоит. У тебя под второй версией нормально работает?
(там разница в качестве перезжатия и ещё что-то было...., параметр один добавился).
Marlik
Не знаю, у меня на хостинге стоит просто GD, и все работает.
Быстрый ответ:

 Включить смайлы |  Enable Signature
Здесь расположена полная версия этой страницы.

Яндекс цитирования