Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     15 May 2003  15:27:43
 To : "Andrei Protasovitski"
 Subject : Re: Image::Magick->Write('gif:-')
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Andrei Protasovitski.
 
 >> PA> Есть страница с тегом
 >> PA> <img src="http://www.mycoolsite.com/cgi-bin/IM/image.cgi">,
 >> PA> и скрипт "/cgi-bin/IM/image.cgi" примерно такого содержания:
 AP> >
 >> PA> -=[cut]=-
 >> PA> #!usr/bin/perl
 >> PA> use strict;
 >> PA> use Image::Magick;
 >> PA> print "Content-type: image/gif\n\n";
 >> PA> my $image = new Image::Magick;
 AP> >
 >> PA> # тут создается изображение
 AP> >
 >> PA> binmode STDOUT;
 >> PA> $image->Write('gif:-');
 >> PA> -=[cut]=-
 AP> >
 >> PA> В результате на STDOUT вылазит примерно такая ерунда:
 >> PA> -=[cut]=-
 >> PA> GIF89?????,.?????,??????????????????34????5Type: image/gif
 AP> >
 AP> >
 >> PA> -=[cut]=-
 AP> >
 >> PA> Как правильно организовать вывод на STDOUT?
 AP> >
 AP> > flush сказать перед Write, подозреваю. Есть ненулевая вероятность,
 AP> что Write
 AP> > пользуется системный write, в не fwrite.
 AP> >
 
 AP> flush немножко помог: теперь вместо
 
 AP> GIF89?????,.?????,??????????????????34????5Type: image/gif
 
 AP> дает
 
 AP> GIF89?????,.?????,??????????????????34????5Content-Type: image/gif
 
 AP> Причем после заголовка (или его обрубка) в конце выдает-таки дважды
 AP> \n. Глючит только под Win. Может, проблема именно в M$.
 
 AP> Интересно, что при отладке пошагово все рисует нормально. А если
 AP> запкстить одним махом - микширует. Может, в M$ еще и flush не
 AP> работает.
 
 Тогда следующий workaround: замени print на syswrite. Если поможет - значит,
 предупреждение о том, что не надо смешивать stdio-вывод или как там print и
 иже с ним реализован (есть еще какой-то вариант) с системным, под виндой более
 актуально, чем под юниксами. Если нет - надо лезть в потроха Image::Magick
 (вернее, в потроха libmagick) и смотреть, чем там делается Write.
 
 -- 
 Artem Chuprina
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757
 --- ifmail v.2.15dev5
  * Origin: Leninsky 45 home network (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Image::Magick->Write(\'gif:-\')   Protasovitski Andrei   08 May 2003 14:52:40 
 Re: Image::Magick->Write(\'gif:-\')   Artem Chuprina   14 May 2003 14:13:29 
 Re: Image::Magick->Write(\'gif:-\')   Andrei Protasovitski   14 May 2003 22:41:38 
 Re: Image::Magick->Write(\'gif:-\')   Artem Chuprina   15 May 2003 15:27:43 
Архивное /ru.perl/11477fdf5afa5.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional