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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Andrey Tapkin                        2:5020/400     10 Jan 2003  19:58:32
 To : Ivan Frolcov
 Subject : Re: JPEG comment
 -------------------------------------------------------------------------------- 
 
 Поставь себе нормальную библиотеку для работы с графикой:
 лучшая из существующих, по-моему, GD, и все что к ней причитается :)
 
 "Ivan Frolcov" <lala@mail.ge> сообщил/сообщила в новостях следующее:
 news:fihs1v81joq8lb0b1pjd7de68j22c2rbgj@4ax.com...
 
 > On Fri, 10 Jan 2003 03:22:09 +0000 (UTC), Ivan Frolcov <lala@mail.ge>
 > wrote:
 >
 > >Если же какому-нибудь придурку типа меня вдруг потребуется -
 > >пожалуйста (вроде все верно, ACDSee, Photoshop & IE претензий не
 > >имеют):
 > И так всегда :-(
 > Предыдущий вариант давится, гад, на существующих комментариях...
 >
 > #!perl -w
 > 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 ); # конец данных, в принципе не должно
 >                                   # быть
 >       $i+=2, 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, "1pix.jpg";
 > binmode FILE;
 > my $buf;
 > read FILE, $buf, -s FILE;
 >
 > open TEXT, "text";
 > binmode TEXT;
 > my $comment; read TEXT, $comment, -s TEXT;
 >
 > open OFILE, ">ofile.jpg";
 > binmode OFILE;
 > print OFILE jpgcomment($buf, $comment);
 >
 --- 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/89908bfde897.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional