Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - AprilBear

Страницы: [1]
1
Perl / скорость выполнения скрипта + Image Magick
« : 16 Августа 2005, 15:44:35 »
Прочитал страничку http://perl.apache.org/docs/1.0/os/...in_one_packages, не нашел ничего полезного. Если можно - то по-конкретнее. Бинарник All_In_One я уже устанавливал (см. выше). Если-бы он заработал - тогда было-б все ок. Может, я не четко вопрос сформулировал? Тогда так - "Как поставить правильно mod_perl под мою конфигурацию?" или "Почему Apache не грузит модуль?".

2
Perl / скорость выполнения скрипта + Image Magick
« : 16 Августа 2005, 14:25:30 »
15.08.05 было скачано и инсталлировано такое файло -> Perl-5.8-win32-bin-0.10.exe (вы это имеете ввиду?). Не смогло после инсталляции даже запуститься, исправляешь одно, вылезает другое, потом третье, промучался часа четыре, снес к едрене фене и поставил все как было. Мне кажется решение легче отыскать в конфигурации, которая есть изначально. Кстати она такая -> все под Windows 2000: Apache 2.0.54, ActivePerl 5.8.7.813, ImageMagick 6.2.3-6. Где-бы почитать об установке mod_perl под windows. Под *nix много чего нашел, а вот нужного нет. Везде поверхностно рассказано.javascript:smilie(\' :(\')
frown

3
Perl / скорость выполнения скрипта + Image Magick
« : 16 Августа 2005, 13:48:33 »
Hi! Ничего так и не нашел, в частности Benchmark точно нет, а GD не подходит. Появилась идея установить mod_perl, попробовать, может с ним побыстрее будет. Возникла такая трабла, при установке модуля "ppm install mod_perl.ppd" ppm лезет в тырнет, а у меня авторизация стоит на прокси, поэтому все рубится на корню. Скачал себе на диск mod_perl.ppd, скрипт install_mod_perl, mod_perl.so, поправил пути на правильные, и все равно ничего не хочет работать. Делаем так ->
###cut here###
D:\\Distrib\\mod_perl>ppm install mod_perl-2.ppd
====================
Install \'mod_perl-2\' version 2.0.1 in ActivePerl 5.8.7.813.
====================

The Apache2 module mod_perl.so is needed to complete the installation,
and should be placed in your Apache2 modules directory. I will
now fetch and install this for you.

Fetching http://localhost/mysite/ ...  done!
Where should mod_perl.so be placed? [D:/Apache/Apache2/modules] d:\\apache2\\modul
es
mod_perl.so has been successfully installed to d:/apache2/modules.
To enable mod_perl, put in the directives
   LoadFile "C:/Path/to/Perl/bin/perl58.dll"
   LoadModule perl_module modules/mod_perl.so
in httpd.conf. For more information, visit
   http://perl.apache.org/
and especially see
   http://perl.apache.org/docs/2.0/rename.html

Successfully installed mod_perl version 2.0.1 in ActivePerl 5.8.7.813.
###cut here###
после изменения httpd.conf и рестарта apache получаем syntax error ...
и еще пишет cannot load .../mod_perl.so into server
В чем моя ошибка?

4
Perl / скорость выполнения скрипта + Image Magick
« : 09 Августа 2005, 12:29:31 »
Цитировать
AnnA:
можно модулем Benchmark

Тогда такой вопрос. Под ActivePerl,ветку 5.8 нет очень многих модулей, в том числе и Benchmark и GD, которые устанавливаются через ppm. Нет их и у меня. Можно поставить модули не от activeperl, а от чего-нить другого? И главное как их поставить? Этот форум я весь облазил ссылки на установку модулей все битые.
:confused:

5
Perl / скорость выполнения скрипта + Image Magick
« : 09 Августа 2005, 09:30:27 »
Hello ALL!
Написан скрипт, который использует image magick и работает он как маленькая больная черепашка.
Очень хотелось бы узнать, как измерить скорость выполнения скрипта и было-б совсем замечательно если еще и узнать место основного затыка. Есть ли какие основные приемы ускорения выполнения или может мне лучше использовать не image Magick а например GD (не уверен, что в нем есть нужные мне ф-ии ).
###
# impose.pl
use Image::Magick;
use HTTP::Response;
use CGI qw(:standard);

######
# Вытаскиваем первый параметр, переданный браузером
my $query = $ENV{ "QUERY_STRING"}; # должно получится примерно -> ?no=2625&fu=2

my (@array, $line, $url);
$line="http://et.ru.ecotech.ru/price/index.shtml";
push(@array, $line);
push(@array, $query);
$url=join(\'\',@array);

$model=Image::Magick->new(); # новый проект для основного изображения
$model->Read($url);

$logo=Image::Magick->new; # новый проект для логотипа
$x=$logo->ReadImage(\'logo.jpg\'); # изображение, которое надо наложить(логотип), читаем его

# Определяем размер изображения, которое нужно вставить
my ($ox,$oy)=$model->Get(\'base-columns\',\'base-rows\'); #определяем ширину и высоту основного изображения
$logo->Resize(width=>$ox, height=>$oy/4); #Делаем resize: высота - четверть от начальной, ширина - полная длина первого изобр.

$model->Composite(image=>$logo,compose=>\'over\',geometry=>\'+0+0\');

####
#Вывод изображения в страницу
$blob=$model->ImageToBlob(magick=>\'gif\');
binmode STDOUT;
print "Content-type: image/gif\\n";
print "\\n";
print  $blob;
exit;

6
Perl / Вывод изображения
« : 05 Августа 2005, 09:43:45 »
Есть! :super:
Окончательный рабочий вариант.
Для работы с изображениями использовался ImageMagick 6.2.3 q16, использовался ActivePerl 5.8.7 build 813 и Apache 1.3.31.

Читаем изобр.
#####cut here
$model=Image::Magick->new(); # новый проект для основного изображения
$model->Read($url);
#####cut here
Последняя часть кода выводит изобр. в страницу:
#####cut here
#Вывод изображения в страницу
$blob=$model->ImageToBlob(magick=>\'gif\');
binmode STDOUT;
print "Content-type: image/gif\\n";
print "\\n";
print  $blob;
exit;
#####cut here
Вызывать можно так
Всем спасибо!:cool:

7
Perl / Вывод изображения
« : 02 Августа 2005, 14:12:15 »
Фух!Частично разобрался. След. код точно выводит бинарный файл, а сверху header приписывает.
#!/usr/bin/perl -w
# opengif2.pl
use strict;
my $file = \'model.gif\';

open(G,"<$file") || die "Can\'t open GIF\\n";
binmode G ; #!!!!!
binmode STDOUT ; #!!!!!!!
print ("Content-Type: image/gif\\r\\n\\r\\n");

print ;
close G;
exit;
Теперь я сделал внутри первого вот это -
open(FIL,"+>out.dat") || print "Couldn`t open file out";
binmode(FIL,":raw");
my $k="1234567890 test";
syswrite(FIL,$k,16,0);
close(FIL);
Из консоли все пашет - "like fucking great" , а вот из браузера не хотит. Не запускается скрипт. При прямом обращении (http://localhost/cgi-bin/opengif3.pl) срабатывает создание тест файла. При обращении из страницы не выполняется вообще, даже ошибку не пишет. Может что-то не то с правами?

8
Perl / Вывод изображения
« : 02 Августа 2005, 11:10:27 »
Различия начинаются с 0D 0A - в конечном файле, только 0A - в исходном. Дописывает один символ, и в итоге файл получается больше. binmode, как я понял как раз и нужен, для того, чтобы указывать перлу, что не надо добавлять перенос строки, но вот что-то не так. При binmode(SRC, ":raw") - файл равен 23 612, при binmode(SRC, ":crlf") - файл равен 23 611, исходник - 23 433. По-моему не включается binmode. Как его включить или выключить?
Открыть файл для двоичного (binary) режима доступа. В обычном режиме при вводе символы CR LF транслируются в LF, а при выводе LF транслируется в CR LF. > В-общем почему-то не открывает для двоичного.:(
open(SRC,"<$file") || die "Can\'t open GIF\\n";
binmode SRC;

9
Perl / Вывод изображения
« : 01 Августа 2005, 18:23:45 »
Цитировать
NeoNox:
пробуй тоже binmode указать:
binmode(STDOUT);
Что за сервер?
# httpd -v

Попробовал (STDOUT), тоже самое.
Сервер Apache/1.3.31 Server at 127.0.0.1 Port 80
Все кстати под Виндой 2000.
Аналога команды в винде не знаю.
Меня интересует - а вообще, в целом, правильный подход к выводу изображения? Может так вообще нельзя с ним поступать? Хотя, почему нельзя...?

10
Perl / Вывод изображения
« : 01 Августа 2005, 17:52:07 »
Цитировать
NeoNox:
...файлы. Есть разница?

Разница есть, заключается в + ~200 б. в конечном файле.
Да, кстати, из хтмл вызывается так : , может здесь трабл? Заголовок, ксати правильный получается (GIF89), и посмотреть картинку можно, т.е. структура формата вроде сохранена, но содержание - полная фигня - те же проблемы. Хотя возможно, что для графики потеря нескольких байтов не критична и поэтому просмотровщик сам определяет проблему и частично её закрывает. В браузер не выводится.

11
Perl / Вывод изображения
« : 01 Августа 2005, 16:42:05 »
Цитировать
ondr:
perldoc -f binmode

Прочитал, много думал:) и придумал вот что :
#!/usr/bin/perl -w
use strict;

use CGI::Carp qw (fatalsToBrowser);
my $file = \'model.gif\';
print "Content-Type: image/gif\\n\\n";

open(SRC,"<$file") || die "Can\'t open GIF\\n";
my $buffer =0;
binmode(SRC); #!!!!!!!!!!!!
while(my $buffer = ){
     print $buffer;
  }

и опять не работает. :( Пойду убью себя ап стену.

12
Perl / Вывод изображения
« : 01 Августа 2005, 15:20:48 »
Привет, ALL!
Помогите решить проблемку.
Есть скрипт, который обрабатывает два изображения и в итоге я получаю одно, затем мне надоть его вывести прямо в браузер, не сохраняя на диск. Идея была реализована так ->
 print "Content-Type: image/gif\\n\\n";
 open(GIF,"<$file") || die "Can\'t open GIF\\n";
 my $buffer =0;
 while (read(GIF,$buffer,16384))
{
   print $buffer;
 }
почему-то не работает. Причем на разных изображениях по -разному. Может выдать в окно тонкую полоску мусора от картинки, картинку с кривыми цветами, а может выдать квадрат с красным крестом, как будто картинки не существует. Поможите, кто чем может, а? Можно-ли вообще вывести картинку прямо из скрипта в браузер, и если можно, то как?:|

Страницы: [1]