[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]

[MD:6535] MagickCore から MagickWand への移行



>>>>> [meadow-develop : No.6534] にて
>>>>> "三好" = 私は書きました:
三好> なお、3.00-dev では、MagickCore API(低水準API) でなくて
三好> MagickWand API(高水準API)を使うように変更しました。

補足します。

1. MagickCore の排除

以下の関数を除き、MagickCore API を排除しました。

1.1 GetImageMagick()

mw32-get-image-magick() で、画像データから画像フォーマットを推定す
るために利用しています。これは、MagickWand API では対応できそうも
ありません。

この関数は、問題を引き起こす独自の構造体を使っていないので、そのま
ま使うことにしました。

1.2 GetMagickInfo()

mw32-get-image-magick-extensions() で、GetImageMagick() によるフォー
マット判定に対応しているフォーマットの一覧を作成するのに利用してい
ました。これも、MagickWand API では対応できそうもありません。

この関数は、問題を引き起こす独自の構造体を使っていますので、利用
をあきらめました。

本来であれば GetMagickInfo() を使って動的に一覧を生成すべきところ
ですが、プログラム埋め込みの配列を参照するようにしました。

この配列の内容は、ImageMagick のバージョンによって異なる可能性が
あるので、現在の実装は問題を引き起こす可能性があります。

2. XPM デコーダ

libxpm を使わずに、独自に実装しました。
といっても、従来使っていた ImageMagick 用の独自の XPM デコーダを、
ちょっと手直ししただけです。


三好> 後ほど、ImageMagick のヘッダファイルに依存しないように修正するつも
三好> りです。
三好> これによって、上記のようなチェックも不要になるかと思います。

これも別途やる必要があります。

--
三好 雅則 http://www.boreas.dti.ne.jp/~miyoshi/