Forum Webscript.Ru

Программирование => Perl => Тема начата: Nudlok от 29 Декабря 2005, 04:15:40

Название: Линейки
Отправлено: Nudlok от 29 Декабря 2005, 04:15:40
как сделать такие линейки как на http://metric.rodim.ru на Perl
если есть, то лучше пример скрипта
Название: Линейки
Отправлено: AnnA от 29 Декабря 2005, 12:12:05
берите пустую линейку (без цифр) и ставте в нее цифры в нужное место по координатам с помощью, например, GD
Название: Линейки
Отправлено: Nudlok от 31 Декабря 2005, 03:33:01
ну вам профи хорошо так рассуждать ... а новичкам примеры нужны ...
Название: Линейки
Отправлено: frenky от 31 Декабря 2005, 04:24:56
Nudlok
 Слушай , забрел на твой сайт ,подскажи плиз как ты добиваешься градиента цвета какого нибудь например для RGB  какие координаты постоянны а какие изменяються?
Название: Линейки
Отправлено: AnnA от 03 Января 2006, 13:25:31
;) какое там из меня профи?..
пример. вот смотрите:
#!/usr/bin/perl -w
use strict;
use GD;

my $font="./data/StayPuft.ttf"; #ваш файл с пиксельным шрифтом

my $im = newFromPng GD::Image(\'/i/lin.png\'); #путь к картинке вашей линейки
my ($white)=$im->colorAllocate(255,255,255);
my ($red)=$im->colorAllocate(242,49,29);
$im->interlaced(\'true\');



my $clr=$white;

$im->stringFT($clr,$font,12,0,10,20,1);
$im->stringFT($clr,$font,12,0,25,24,2);
$im->stringFT($clr,$font,12,0,35,15,3);
$im->stringFT($clr,$font,12,0,45,19,4);
$im->stringFT($clr,$font,12,0,55,29,5);
$im->stringFT($clr,$font,12,0,65,15,6);

print "Content-type: image/png\\n\\n";
binmode STDOUT;
print $im->png;
exit;
=comment
теперь о ($clr,$font,12,0,65,15,6);
fgcolor    Color index to draw the string in
fontname   A path to the TrueType (.ttf) font file or a font pattern.
ptsize     The desired point size (may be fractional)
angle      The rotation angle, in radians (positive values rotate counter clockwise)
x,y        X and Y coordinates to start drawing the string
string     The string itself
=cut
Название: Линейки
Отправлено: Nudlok от 04 Января 2006, 08:03:59
пример не работает =)
объясните получше, как поверх одной картинки поместить другую поменьше в нужом месте
Название: Линейки
Отправлено: AnnA от 04 Января 2006, 12:46:22
Цитировать
Nudlok:
пример не работает
у вас может и не работает. у меня - вполне. и я даже не хочу заводить разговоры на тему прописывания правильных путей в скрипте к файлу шрифтов, к файлу png, а так же узнавать каким собственно образом вы вызвали скрипт, что он не работает (наверняка это был не ). могу просто еще раз повторить, что пример тривиален и вполне работоспособен.

Цитировать
Nudlok:
объясните получше, как поверх одной картинки поместить другую поменьше в нужом месте

эта тема прекрасна раскрыта в документации к модулю Image::Magick
Название: Линейки
Отправлено: Nudlok от 26 Января 2006, 14:10:25
ну вы не подумайте что я настолько глуп, чтобы неправильно прописать пути .. а вот насчёт img src как-то не подумал ... спасибо =)
Название: Линейки
Отправлено: Regestor от 29 Января 2006, 18:03:48
AnnA
Я вижу ты имелa опыт работы с сием чудом...
с Image::Magick то все ясно, сам знаю что есть что и где читать =)

а вот что мы можем делать с помощью use GD ?
можем ли мы обойтись без Image::Magick, используюя тока GD....
И где можно ие почитать подробно? ну кроме CPAN, там то и так ясно что мона =)
Название: Линейки
Отправлено: AnnA от 30 Января 2006, 12:10:08
в perldoc GD ведь все и расписано. ;)
ну и где-то в сети я видела перевод в виде русского pdf, но он на старые версии, которые еще не работали с гифами. в новом ГД  есть $image->gifanimbegin (но я, правда, не пробовала даже создавать анимированные гифы с помощью ГД) и Alpha channels
Название: Линейки
Отправлено: Regestor от 30 Января 2006, 12:22:54
AnnA
Наверное неправильно я спросил =)
Вообщем по твоим представлением с чем проще проще работать и мощнее с GD или Image::Magick
Название: Линейки
Отправлено: AnnA от 30 Января 2006, 12:43:19
Regestor мой выбор - GD. ;)
с Image::Magick я только работала, когда делала превьюшки для одной галлереи - он их качественнее делал, чем ГД. Но это опять же - была старая версия ГД, может новая уже не содержит в себе этого глюка с качеством картинок.