Работа с графикой в Perl

fotopsj100

Посоветуйте модуль с помощью которого можно было бы рисовать линии (по точкам для заданной функции скажем) и другие графические объекты. Интересно под винду такой есть.

Ivan8209

Какова природа "других графических объектов"?
---
...Я работаю антинаучным аферистом...

bezoblachnaia

GD
Только насчет винды не уверен...

Anna74

IMHO лучший вариант. Для генерирования графики на лету. Легка в использовании. В инете примеров надыбать можешь и всяких FAQ
GD library
GD is an open source code library for the dynamic creation of images by programmers. GD is written in C, and "wrappers" are available for Perl, PHP and other languages. GD creates PNG, JPEG and GIF images, among other formats. GD is commonly used to generate charts, graphics, thumbnails, and most anything else, on the fly. While not restricted to use on the web, the most common applications of GD involve web site development.
Lincoln Stein's Home Page
GD.pm A perl5 interface to Thomas Boutell's gd library that allows you to generate PNG and JPEG images on the fly.
Под Windows где-то был вроде у канадцев у кого-то видел собранный для ActiveState perl. Может они сами уже на сайте выложили.
Если сам решишь ставить pm, то тебе надо будет надыбать у Microsoft древний nmake-полтора: nmake15.exe. По-моему дело в том, что под самой продвинутой системой не работает Makefile - либо разбираешься и ручками, либо командный bat файл ваяешь, либо эта nmake. А может я что забыл или за время пока руку на пульсе не держу мягкий софт далеко убежал и там окривел окончательно.

fotopsj100

Другие объекты - хз, ну типа кружки, квадраты иди елка там новогодняя и т.п.
GD под винду не нашел.

Ivan8209

Выучи постскрипт и не пудри мозги перлом.
---
...Я работаю антинаучным аферистом...

Anna74

Странно. Пишу в google поисковый запрос
ActiveState perl GD.pm for Windows
И получаю в 4 ссылке
GD.pm — A perl5 interface to Thomas Boutell's gd library ...- [ Новинка! Перевести эту страницу ]3. Does GD run with MacPerl/Win32 Perl? Yes. The latest MacPerl and ActiveState binaries come with GD already compiled in and ready to go. 4. ...
www.cpan.org/modules/by-authors/Lincoln_D_Stein/GD-1.20.read... - 12k -
У тебя может интернета нет. А то поставь ActiveState perl и не парься, вишь - пишут тебе в факью, что они там тебе уже вставили. Ну или ставится через инет с их репозитория pm или как он уних там называется.

Anna74

Графики на лету с телеметрии и все дела, к нему ещё небось надстроек понаприкручивали. Уж всякие спецэффекты - ну разберёшься, многое что какой-нибудь Photoshop делает сам оператор Лапласа или ещё чегой-то применишь. Возмёшь свой аватар поредактируешь и приляпай туда карту мира - пускай крутится.
Пока я тебе тут поблизости про GD посмотрел - где-то увидел, что там уже анимашки поддерживаются. Не парься - юзай GD.

Landstreicher

> Выучи постскрипт и не пудри мозги перлом.
Автору треда, наверное, надо что-то другое, но тем не менее, могу подтвердить: рисовать в PostScript очень просто и удобно.

Anna74

 
Другие объекты - хз, ну типа кружки, квадраты иди елка там новогодняя и т.п.

Юзай paint и вставляй готовые картинки Если программно надо и обязательно на перле рисовать, то:
 

use GD;

# create a new image
$im = new GD::Image(100,100);

# allocate some colors
$white = $im->colorAllocate(255,255,255);
$black = $im->colorAllocate(0,0,0);
$red = $im->colorAllocate(255,0,0);
$blue = $im->colorAllocate(0,0,255);

# make the background transparent and interlaced
$im->transparent($white);
$im->interlaced('true');

# Put a black frame around the picture
$im->rectangle(0,0,99,99,$black);

# Draw a blue oval
$im->arc(50,50,95,75,0,360,$blue);

# And fill it with red
$im->fill(50,50,$red);

# make sure we are writing to a binary stream
binmode STDOUT;

# Convert the image to PNG and print it on standard output
print $im->png;

Овал с синей границей залитый красным на белом фоне и чёрной рамкой.
Оставить комментарий
Имя или ник:
Комментарий: