ImageMagickのバージョン6.5.8ではMagickWandへの関数の追加や既存関数のプロトタイプ変更などはなく、内部的な不具合修正や機能修正しかありませんでした。DomaMagickは「ImageMagickのバージョン6.5.8に対応」と明言するだけで内部的な変更はありません。
ImageMagickのバージョン6.5.7でMagickWandに追加された関数をDomaMagickから呼び出せるように修正しました。
- MagickDeleteImageArtifact関数
- MagickGetImageArtifact関数
- MagickGetImageArtifacts関数
- MagickSetImageArtifact関数
('09/10/18現在 最終確認ImageMagickバージョン6.5.6-10)
画像の切抜きを行う関数にMagickExtentImage関数があります。似たような関数にMagickCropImage関数もありますが、こちらは対象となる画像の内側しか処理対象とならない(小さくしかならない)のに対し、MagickExtentImage関数は内側だけでなく外側も処理の対象にすることができます(小さくも大きくもできる)。そんなわけで私はMagickExtentImage関数を割りと良く使用するのですが、この関数の処理内容がImageMagickバージョン6.5.4.xから変わってしまいました。
どのように変わったのかというと、
画像の内側を切抜く場合:
【以前は】
MagickExtentImage(wand, width, height, 100, 200);
【バージョン6.5.4.x〜は】
MagickExtentImage(wand, width, height, -100, -200);
画像の外側から切抜く場合:
【以前は】
MagickExtentImage(wand, width, height, -100, -200);
【バージョン6.5.4.x〜は】
MagickExtentImage(wand, width, height, 100, 200);
という風に、第4,5番目の引数のx座標,y座標の指定が、符号逆転してしまいました。
ドキュメントにも特に触れられていないので、どのように捉えるべきか判断しかねていて、バージョン6.5.4.xで仕様変更されて新しいものが正しいと考えるべきか?以前が正しくてバージョン6.5.4.xで何かしらのミスが起きたと考えるべきか?さらには、今後このままの仕様で継続するのか?以前の仕様に戻されるのか?
割と良く使用する関数(私だけでは無いと思うので)なだけに、他の方々はどのようにしているのでしょうか?皆さんのご意見をコメントにでも投稿していただけたら有り難いです。また、英語がままならない私に代わって、ImagaMagick公式サイトに問合せしてもいいよというつわものの方がいらっしゃいましたら、同様にコメントお願いいたします。
ImageMagickのバージョン6.5.6でMagickWandに追加された関数をDomaMagickから呼び出せるように修正しました。
- MagickClampImage関数
- MagickClampImageChannel関数
- MagickSetExtract関数
ImageMagickのバージョン6.5.5でChannelType列挙体に追加・変更された値に対応しました。
- SyncChannelsメンバ(追加)
- AllChannelsメンバ(値変更)
- DefaultChannelsメンバ(値変更)
ImageMagickのバージョン6.5.5でCompressionType列挙体に追加された値に対応しました。
- ZipSCompressionメンバ
- PizCompressionメンバ
- Pxr24Compressionメンバ
- B44Compressionメンバ
- B44ACompressionメンバ
ImageMagickのバージョン6.5.5でMagickWandに追加された関数をDomaMagickから呼び出せるように修正しました。
- DrawGetOpacity関数
- DrawGetTextInterlineSpacing関数
- DrawSetOpacity関数
- DrawSetTextInterlineSpacing関数
- MagickAutoGammaImage関数
- MagickAutoGammaImageChannel関数
- MagickAutoLevelImage関数
- MagickAutoLevelImageChannel関数
ImageMagickのバージョン6.5.4でChannelType列挙体に追加された値に対応しました。
ImageMagickのバージョン6.5.4でCompositeOperator列挙体に追加された値に対応しました。
- PegtopLightCompositeOpメンバ
- VividLightCompositeOpメンバ
- PinLightCompositeOpメンバ
- LinearDodgeCompositeOpメンバ
- LinearBurnCompositeOpメンバ
- MathematicsCompositeOpメンバ
ImageMagickのバージョン6.5.4でMagickWandに追加された関数をDomaMagickから呼び出せるように修正しました。
- DrawGetBorderColor関数
- DrawSetBorderColor関数
- MagickBlueShiftImage関数
- MagickColorDecisionListImage関数
- MagickForwardFourierTransformImage関数
- MagickInverseFourierTransformImage関数
ImageMagickのバージョン6.5.3でCompositeOperator列挙体に追加された値に対応しました。
- DistortCompositeOpメンバ
- BlurCompositeOpメンバ
ImageMagickのバージョン6.5.3でResourceType列挙体に追加された値に対応しました。
- ThreadResourceメンバ
- TimeResourceメンバ
ImageMagickのバージョン6.5.3でMagickWandに追加された関数をDomaMagickから呼び出せるように修正しました。
- MagickHaldClutImage関数
- MagickHaldClutImageChannel関数
ImageMagickのバージョン6.5.2でAlphaChannelType列挙体に追加・変更された値に対応しました。
- BackgroundAlphaChannelメンバ
- 値が変更されたメンバ
ImageMagickのバージョン6.5.2でExceptionType列挙体に追加された値に対応しました。
- PolicyWarningメンバ
- PolicyErrorメンバ
- PolicyFatalErrorメンバ
ImageMagickのバージョン6.5.2でMagickFunction列挙体に追加された値に対応しました。
- ArcsinFunctionメンバ
- ArctanFunctionメンバ
ImageMagickのバージョン6.5.1でDistortImageMethod列挙体に追加・変更された値に対応しました。
- BilinearForwardDistortionメンバ
- BilinearReverseDistortionメンバ
- 値が変更されたメンバ
ImageMagickのバージョン6.5.1でSparseColorMethod列挙体に変更された値に対応しました。
- BilinearColorInterpolateメンバ
ImageMagickのバージョン6.5.1で追加された構造体をDomaMagickから使用できるように修正しました。
ImageMagickのバージョン6.5.1でMagickWandに追加された関数をDomaMagickから呼び出せるように修正しました。
- MagickGetColorspace関数
- MagickGetImageFuzz関数
- MagickSetColorspace関数
- MagickSetImageFuzz関数
- MagickSimilarityImage関数
- MagickTransformImageColorspace関数
DomaMagickバージョン1.2.4〜1.2.6のバグを修正しました。
ImageMagickのバージョン6.4.8でChannelStatistics構造体の構造が変更されていましたが、DomaMagickではImageMagickのバージョン6.4.7以前のまま変更していませんでした。