libthumbのRuby拡張ライブラリ

Exifファイルのサムネイルを取得するライブラリlibthumb)をRubyで使いたいと思い、拡張ライブラリを作ってみました。

gemファイル

exif_thumbnail-0.0.1.gem

実行例

これは、ruby 1.9.3で実行した例です。

$ irb
> require 'exif_thumbnail'
=> true 
> foo = EXIFThumbnail.read("/Users/nkmrshn/Pictures/FOOD.JPG")
=> # 
> foo.length
=> 12107 
> foo.orientation
=> 6 
> File.binwrite("/Users/nkmrshn/Desktop/Thumbnail.jpg", foo.data)
=> 12107 
>

余談

Rubyの拡張ライブラリやgemを作るのはこれが初めてで、いろいろ調べてやっと動くものができました。

疑問点も多々あり、勉強不足です。例えば、unsigned char *をRubyに返すには、なんでchar *にキャストして、rb_str_newで変換すればよいのか、またこの方法で良いのかも含め、よくわかっていません。