Читаем Язык программирования Perl полностью

use CGI qw/:standard/; # применим библиотеку CGI use SVG; # и SVG my $p = CGI->new; # создадим объект CGI и зададим print $p->header(-type=>'image/svg+xml'); # тип документа # создадим объект SVG размером 400 на 300 пикселей my $svg= SVG->new(width=>400, height=>300); # разместим синий текст, начиная с координат 32,32 $svg->text(x=>32,y=>32, style=>"font-size:15;fill:blue" )->cdata('Посещаемость сайта: распределение по доменам'); # вызовем подпрограмму для размещения 4-х полос графика bar(20, 50, 'red', 55, '.RU'); bar(20, 80, 'blue', 24, '.COM'); bar(20, 110, 'green', 12, '.ORG'); bar(20, 140, 'black', 9, 'прочие'); # разместим текст с версиями программных средств: $svg->text(x=>12,y=>200, )->cdata("Perl $] + ". # версия Perl "SVG.pm $SVG::VERSION + ". # версия модуля SVG "CGI.pm $CGI::VERSION"); # версия модуля CGI my $out = $svg->xmlify(); # отформатируем текст XML print $out; # и отправим его браузеру sub bar { # подпрограмма вывода одной строки графика, # которой передаются координаты, цвет, % и заголовок my ($x, $y, $color, $procent, $caption) = @_; # выводим прямоугольник пропорционально проценту $svg->rectangle( x => $x, y => $y, height => 30, width => $procent*10, style => "opacity:1; fill:$color; fill-opacity:0.4" ); # и пояснительный текст указанного цвета $svg->text( x=>$x+5,y=>$y+20,style=>"font-size:15;fill:$color" )->cdata("$caption $procent %"); }


SVG-документ, сформированный в результате выполнения этой программы, - это текстовый файл в формате XML, который выглядит следующим образом:


Ïîñåùàåìîñòü ñàéòà: ðàñïðåäåëåíèå ïî äîìåíàì .RU 55 % .COM 24 % .ORG 12 % ïðî÷èå 9 % Perl 5.008007 + SVG.pm 2.33 + CGI.pm 3.10


Зная синтаксис описания SVG-графики, можно сформировать подобный документ c помощью одного из модулей Perl, генерирующих документы XML. Библиотека SVG лишь предоставляет для этого наиболее удобные средства. Если нет под рукою нужных модулей, можно даже создавать любые документы XML на чистом Perl. Текстовое представление, понятное человеку и легкое для обработки, стало одним из преимуществ XML по сравнению с применявшимися ранее двоичными форматами. На рис. 18.3 показано, как сформированный в программе SVG-документ выглядит в окне браузера в виде векторного изображения.

Динамически сформированная SVG-графика

Рис. 18.3.  Динамически сформированная SVG-графика

Перейти на страницу:

Похожие книги

Информатика: аппаратные средства персонального компьютера
Информатика: аппаратные средства персонального компьютера

Рассмотрены основы информатики и описаны современные аппаратные средства персонального компьютера. Сформулированы подходы к определению основных понятий в области информатики и раскрыто их содержание. Дана классификация современных аппаратных средств персонального компьютера и приведены их основные характеристики. Все основные положения иллюстрированы примерами, в которых при решении конкретных задач используются соответствующие программные средства.Рекомендуется для подготовки по дисциплине «Информатика». Для студентов, аспирантов, преподавателей вузов и всех интересующихся вопросами современных информационных технологий.

Владимир Николаевич Яшин

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT