ImageMagick-6.9.6-5差分

ImageMagick-6.9.6-4差分 - yoyaのメモの続き

The latest release of ImageMagick is version 6.9.6-5

まとめ

差分

  • CMYK 画像の -sharpen / -convolve 処理修正
  • index.html の URL 間違いの修正 (www => script)
  • -level-colors でグレー画像の処理ができてなかったかも?
  • MATLAB v4 形式で読めるファイルを増やした
ChangeLog の分
static ssize_t MorphologyPrimitive(const Image *image, Image *result_image,
     const MorphologyMethod method, const ChannelType channel,
     const KernelInfo *kernel,const double bias,ExceptionInfo *exception)
<略>
<           SetPixelIndex(q_indexes+y,GetPixelIndex(p_indexes+r));
---
>           SetPixelIndex(q_indexes+y,GetPixelIndex(p_indexes+y+r));
<以下同上>

CMYK は、CMY を RGBの変数を使い K を別(index)で処理するが、その際の座標計算で y を足し忘れてた。

ChangeLogにない差分
  • coders/mat.c
    • MATLAB ファイル読み込みの複数イメージ対応、HDR.Type 非0対応。
static Image *ReadMATImageV4(const ImageInfo *image_info,Image *image,
  ExceptionInfo *exception)
<略>
>   while (EOFBlob(image) != MagickFalse)
<   if (HDR.Type[3] != 0) return((Image *) NULL);    /* Data format */
<   if (HDR.Type[2] != 0) return((Image *) NULL);    /* Always 0 */
<   if (HDR.Type[0] == 0)
>     if (HDR.Type[3] != 0)
>       break;    /* Data format */
>     if (HDR.Type[2] != 0)
>       break;    /* Always 0 */
>     if (HDR.Type[0] == 0)
<略>
>     HDR.Type[3]=ldblk % 10; ldblk /= 10;  /* T digit */
>     HDR.Type[2]=ldblk % 10; ldblk /= 10;  /* P digit */
>     HDR.Type[1]=ldblk % 10; ldblk /= 10;  /* O digit */
>     HDR.Type[0]=ldblk;  /* M digit */
>     if (HDR.Type[3] != 0)
>       break;    /* Data format */
>     if (HDR.Type[2] != 0)
>       break;    /* Always 0 */
>     if (HDR.Type[0] == 0)
>       {
>         HDR.nRows=ReadBlobLSBLong(image);
>         HDR.nCols=ReadBlobLSBLong(image);
>         HDR.imagf=ReadBlobLSBLong(image);
>         HDR.nameLen=ReadBlobLSBLong(image);
>         endian=LSBEndian;
>       }
>     else
>       {
>         HDR.nRows=ReadBlobMSBLong(image);
>         HDR.nCols=ReadBlobMSBLong(image);
>         HDR.imagf=ReadBlobMSBLong(image);
>         HDR.nameLen=ReadBlobMSBLong(image);
>         endian=MSBEndian;
>       }
>     if ((HDR.imagf !=0) && (HDR.imagf !=1))
  • coders/tiff.c
    • SetImageProperty 前の NULL チェック
<   if (TIFFGetField(tiff,TIFFTAG_ARTIST,&text) == 1)
---
>   if ((TIFFGetField(tiff,TIFFTAG_ARTIST,&text) == 1) &&
>       (text != (char *) NULL))
<以下同様>
  • magick/enhance
    • LevelColors でグレー画像を一度 R,G,B にばらすはずが条件式が逆で処理が抜けてた。。
MagickExport MagickBooleanType LevelColorsImageChannel(Image *image,
  const ChannelType channel,const MagickPixelPacket *black_color,
  const MagickPixelPacket *white_color,const MagickBooleanType invert)
<略>
<       ((IsGrayColorspace(black_color->colorspace) == MagickFalse) ||
<        (IsGrayColorspace(white_color->colorspace) == MagickFalse)))
---
>       ((IsGrayColorspace(black_color->colorspace) != MagickFalse) ||
>        (IsGrayColorspace(white_color->colorspace) != MagickFalse)))
    (void) SetImageColorspace(image,sRGBColorspace);

ChangeLog

2016-11-15  6.9.6-5 Cristy  <quetzlzacatenango@image...>
  * Release ImageMagick version 6.9.6-5, GIT revision 11139:5175b3c:20161115.

2016-11-10  6.9.6-5 Cristy  <quetzlzacatenango@image...>
  * Web pages were broken when we moved to HTTPS protocol.
  * Restore -sharpen / -convolve options to work with CMYK (reference
    https://github.com/ImageMagick/ImageMagick/issues/299).