ImageMagick-6.9.0-7差分
ImageMagick-6.9.0-6差分 - yoyaのメモの続き
The latest release of ImageMagick is version 6.9.0-7
まとめ
- 6.9.0-5 でデグレードした線が細くなる問題の修正
- キャプションの文字が領域に収まらない(?)問題
差分
- 線を描画した時の見た目が細すぎる
- キャプション領域のテキストを保つように
- http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=22504
- ( ボードによると、この件はまだ治ってないとの事)
- http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=22504
ChangeLogにない差分
- coders/palm.c
- BPP チェックを範囲 1から16という大雑把なのから 1,2,4,8,16 のいずれかにした。
< if ((bits_per_pixel == 0) || (bits_per_pixel > 16)) < ThrowReaderException(CorruptImageError,"ImproperImageHeader"); --- > if ((bits_per_pixel != 1) && (bits_per_pixel != 2) && > (bits_per_pixel != 4) && (bits_per_pixel != 8) && > (bits_per_pixel != 16))
-
- version チェック、compressionType チェックを追加。
> if ((version != 0) && (version != 1) && (version != 2)) > ThrowReaderException(CorruptImageError,"FileFormatVersionMismatch"); 332a336,339 > if ((compressionType != PALM_COMPRESSION_NONE) && > (compressionType != PALM_COMPRESSION_SCANLINE ) && > (compressionType != PALM_COMPRESSION_RLE))
-
- ping 指定対応
> if (image_info->ping != MagickFalse) > { > (void) CloseBlob(image); > return(image); > }
- magick/composite-private.h
- どこかでガンマ値を書け忘れてた?
55a56
> gamma,
62a64,65
> gamma=Sa*(-Da)+Sa+Da;
> gamma=PerceptibleReciprocal(gamma);
66c69
< SetPixelRed(composite,MagickOver_((MagickRealType)
---
> SetPixelRed(composite,gamma*MagickOver_((MagickRealType)
---
< composite->red=MagickOver_(p->red,alpha,q->red,beta);
< composite->green=MagickOver_(p->green,alpha,q->green,beta);
< composite->blue=MagickOver_(p->blue,alpha,q->blue,beta);
---
> composite->red=gamma*MagickOver_(p->red,alpha,q->red,beta);
> composite->green=gamma*MagickOver_(p->green,alpha,q->green,beta);
> composite->blue=gamma*MagickOver_(p->blue,alpha,q->blue,beta);
- ImageMagick-6.9.0-7/magick/morphology.c
- 違うピクセルを数える時の透明度を比較する際に透明度が有効か(matte)をチェックするようにした。
< || ( p[r].opacity != GetPixelOpacity(q))
< || ( image->colorspace == CMYKColorspace &&
< GetPixelIndex(p_indexes+r) != GetPixelIndex(q_indexes+y) ) )
---
> || ( (image->matte != MagickFalse) &&
> (p[r].opacity != GetPixelOpacity(q)))
> || ( (image->colorspace == CMYKColorspace) &&
> (GetPixelIndex(p_indexes+r) != GetPixelIndex(q_indexes+y)))
- magick/property.c
- EXIF データのタグを取得する際に5文字以下ならエラーにする。
/* If EXIF data exists, then try to parse the request for a tag. */ profile=GetImageProfile(image,"exif"); if (profile == (const StringInfo *) NULL) return(MagickFalse); if ((property == (const char *) NULL) || (*property == '\0')) return(MagickFalse); while (isspace((int) ((unsigned char) *property)) != 0) property++; if (strlen(property) <= 5) return(MagickFalse); || - Magick++/lib/Image.cpp -- Lock の呼び方が変わってる >|c++| < Lock(&_blobRef->_mutexLock); --- > Lock lock(&_blobRef->_mutexLock);
-
- Image::repace() を追加。
> void Magick::Image::repage() > { > modifyImage(); > options()->page(Geometry()); > image()->page.width = 0; > image()->page.height = 0; > image()->page.x = 0; > image()->page.y = 0; > }
ChangeLog
2015-02-22 6.9.0-7 Cristy <quetzlzacatenango@image...> * New version 6.9.0-7, SVN revision 18067. 2015-02-15 6.9.0-7 Cristy <quetzlzacatenango@image...> * Line strokes appeared too thin (reference http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=26927). * Keep text in caption area (reference http://www.imagemagick.org/discourse-server/viewtopic.php?f=3&t=22504).