ImageMagick-6.9.10-27差分

ImageMagick-6.9.10-27差分

http://www.imagemagick.org/script/download.php
The latest release of ImageMagick is version 6.9.10-27

7 系同時リリースは ImageMagick-7.0.8-27

まとめ

  • image.gif[2-3] のような scene geometry の処理を修正。

https://imagemagick.org/discourse-server/viewtopic.php?f=3&t=35435

  • BMP 読み込みで ICC プロファイルを解釈するようになった。BMPv5 の機能。
気になる事

珍しく PerlMagick/t/input.fits に大量の差分がある。

差分

  • subimage レンジ適切に扱う変更パッチ。 (例. image.gif[2-3]).

ChangeLog にない差分

  • PerlMagick/t/input.fits
1,76c1
< SIMPLE  =
(よく分からないバイナリが大量に)
  • coders/bmp.c
    • BMP 読み込みで ICC プロファイルを解釈できるようにした。
526a527,528
>     profile_data,
>     profile_size,
630a633,634
>     profile_data=0;
>     profile_size=0;
829,830c833,834
<             (void) ReadBlobLSBLong(image);  /* Profile data */
<             (void) ReadBlobLSBLong(image);  /* Profile size */
---
>             profile_data=(MagickOffsetType) ReadBlobLSBLong(image);
>             profile_size=(MagickOffsetType) ReadBlobLSBLong(image);
1451a1456,1497
>       Read embeded ICC profile
>     */
>     if ((bmp_info.colorspace == 0x4D424544L) && (profile_data > 0) &&
>         (profile_size > 0))
>       {
>         StringInfo
>           *profile;
>
>         unsigned char
>           *datum;
>
>         offset=start_position+14+profile_data;
>         if ((offset < TellBlob(image)) ||
>             (SeekBlob(image,offset,SEEK_SET) != offset) ||
>             (GetBlobSize(image) < (MagickSizeType) (offset+profile_size)))
>           ThrowReaderException(CorruptImageError,"ImproperImageHeader");
>         profile=AcquireStringInfo((size_t) profile_size);
>         if (profile == (StringInfo *) NULL)
>           ThrowReaderException(CorruptImageError,"MemoryAllocationFailed");
>         datum=GetStringInfoDatum(profile);
>         if (ReadBlob(image,(size_t) profile_size,datum) == (ssize_t) profile_size)
>           {
>             MagickOffsetType
>               profile_size_orig;
>
>             /*
>              Trimming padded bytes.
>             */
>             profile_size_orig=(MagickOffsetType) datum[0] << 24;
>             profile_size_orig|=(MagickOffsetType) datum[1] << 16;
>             profile_size_orig|=(MagickOffsetType) datum[2] << 8;
>             profile_size_orig|=(MagickOffsetType) datum[3];
>             if (profile_size_orig < profile_size)
>               SetStringInfoLength(profile,(size_t) profile_size_orig);
>             if (image->debug != MagickFalse)
>               (void) LogMagickEvent(CoderEvent,GetMagickModule(),
>                 "Profile: ICC, %u bytes",(unsigned int) profile_size_orig);
>             (void) SetImageProfile(image,"icc",profile);
>           }
>         profile=DestroyStringInfo(profile);
>       }
>     /*

ChangeLog

2019-02-09  6.9.10-27 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.10-27, GIT revision 14197:4e00248f4:20190209

2019-02-09  6.9.10-27 Cristy  <quetzlzacatenango@image...>
  * Mod patch to properly handle subimage ranges (e.g. image.gif[2-3]).