強火で進め

このブログではプログラム関連の記事を中心に書いてます。

ImageMagickをiPhone用にビルドする為のシェルスクリプト


こちらのサイトの方がImageMagickiPhoneで使える様にビルドする為のシェルスクリプトを作られています。

ImageMagick for iPhone via SnowLeopard
http://www.cloudgoessocial.net/2010/02/10/imagemagick-for-iphone-via-snowleopard/

また、ビルド済みの.aファイルやそれを組み込んだサンプルプロジェクトも提供されています。自分でビルドするのがメンドクサイ場合はこちらを使うと良いでしょう。

ここでビルドしたライブラリで利用できるのはImageMagickの中の MagickWand API や MagickCore API となります。

ImageMagick: MagickWand, C API for ImageMagick
http://www.imagemagick.org/script/magick-wand.php

ImageMagick: MagickCore, Low-level C API for ImageMagick
http://www.imagemagick.org/script/magick-core.php

使い方

主な使い方はサンプルの test project を参照すると良いでしょう。UIImageとの連携などがとても参考になります。

サンプルで使われていないけれどよく使いそうな関数の使い方をちょっとだけ紹介しておきます。

画像のサイズを取得
	NSLog(@"%dx%d", 
		  MagickGetImageWidth(magick_wand),
		  MagickGetImageHeight(magick_wand));
ファイルのフォーマットを取得
	NSLog(@"MagickGetImageFormat:%s", 
		  MagickGetImageFormat(magick_wand));

JPEGファイルに対して実行した場合、以下の様な結果になります。

MagickGetImageFormat:JPEG
ファイルに書き出す
MagickWriteImages(magick_wand, "ここに出力先ファイルのフルパス", MagickTrue);

アニメーションGIFを作る

アニメーションGIFを作る方法について解説したエントリーを書きました。

ImageMagick のライブラリはプロジェクトに追加しただけでは使うことが出来ませんでした。その辺りの設定についての解説もしていますので自分で使ってみてビルドが上手く通らない方も参照してみて下さい。

ImageMagick(MagickWand)でアニメーションGIF(Animated GIF)を作成するサンプル - 強火で進め
http://d.hatena.ne.jp/nakamura001/20100921/1285087936