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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Ivan Frolcov                         2:5020/400     10 Jan 2003  07:22:09
 To : Ivan Frolcov
 Subject : Re: JPEG comment
 -------------------------------------------------------------------------------- 
 
 On Thu, 9 Jan 2003 14:58:30 +0000 (UTC), Ivan Frolcov <lala@mail.ge>
 wrote:
 
 >общем-то, модуль, для такой пустячной задачи. Hикто в природе не видел
 >какого-нибудь поделия для вписывания своих комментариев? Hа CPAN нашел
 >то, что надо, но в обратную сторону - читать...
 
 Естественно, никто ничего не видел. Hу да, не в сказку попал - или я
 один такой дурак? Hадо бы к врачу сходить, что ли...
 
 Если же какому-нибудь придурку типа меня вдруг потребуется -
 пожалуйста (вроде все верно, ACDSee, Photoshop & IE претензий не
 имеют):
 
 use strict;
 sub jpgcomment($$){
     my ($image, $comment)=@_;
     $comment.="\0";
     my $i=2; # пропустить лидирующие FF SOI
     my(@datas);
 
     while(1){
       my $data;
       my $pre=unpack('n',substr($image,$i,2));
       if ( $pre == 0xFFDA ){ #собственно картинка
          push @datas, substr($image,$i,length($image)-$i);
          last;
       }
       next if ( $pre == 0xFFD8 ); # конец данных, в принципе не должно
                                   # быть
       next if ( $pre == 0xFFFE ); # изначальный комментарий. нафиг
       my $cnt=unpack('n',substr($image,$i+2,2));
       push @datas, substr($image,$i,$cnt+2);
       $i+=$cnt+2;
       last if $i >= length($image);
     }
     @datas= ($datas[0],
              (pack('n n', 0xFFFE, length($comment)+2).$comment),
              @datas[1..$#datas]);
 
     return pack('n',0xFFD8) . join('', @datas) ;
 }
 
 open FILE, "qq.jpg";
 binmode FILE;
 my $buf;
 read FILE, $buf, -s FILE;
 
 open OFILE, ">ofile.jpg";
 binmode OFILE;
 print OFILE jpgcomment($buf, 'He did not wear his scarlet coat');
 
 --- ifmail v.2.15dev5
  * Origin: Golden Telecom (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 JPEG comment   Ivan Frolcov   09 Jan 2003 18:58:30 
 Re: JPEG comment   Ivan Frolcov   10 Jan 2003 07:22:09 
 Re: JPEG comment   Ivan Frolcov   10 Jan 2003 08:01:51 
 Re: JPEG comment   Andrey Tapkin   10 Jan 2003 19:58:32 
 Re: JPEG comment   Ivan Frolcov   10 Jan 2003 22:48:29 
 Re: JPEG comment   Andrey Tapkin   11 Jan 2003 00:19:16 
 Re: JPEG comment   Ivan Frolcov   11 Jan 2003 01:27:39 
 Re: JPEG comment   Andrey Tapkin   11 Jan 2003 15:09:30 
 Re: JPEG comment   Ivan Frolcov   11 Jan 2003 18:37:27 
 Re: JPEG comment   Andrey Tapkin   12 Jan 2003 13:01:33 
 Re: JPEG comment   Ivan Frolcov   12 Jan 2003 22:16:42 
Архивное /ru.cgi.perl/2080367fade1.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional