rubyのfastimageで簡単に画像サイズを取得する方法

rubyのfastimageで簡単に画像サイズを取得する方法メモ。



rubygemsのfastimageで簡単に画像サイズを取得する方法


rubyで画像サイズを調べたい場合はfastimageを使うのがすごく簡単です。


簡単なだけでなく、このライブラリは画像の保存先がURLであっても非常に高速に動作します。画像ファイルの中からサイズに関係する部分のみを読み込むためです。



fastimageのインストール


# Gemの場合
gem install fastimage

# Rails(bundler)の場合
gem 'fastimage'


fastimageの使い方


require 'fastimage'

# URLから画像サイズを取得
FastImage.size("http://stephensykes.com/images/ss.com_x.gif")
=> [266, 56]  # width, height

# URLから画像フォーマットを取得
FastImage.type("http://stephensykes.com/images/pngimage")
=> :png

# ファイルシステムから画像フォーマットを取得
FastImage.type("/some/local/file.gif")
=> :gif

# 画像取得に失敗したら例外を発生、タイムアウト時間の設定
FastImage.size("http://upload.wikimedia.org/wikipedia/commons/b/b4/Mardin_1350660_1350692_33_images.jpg", :raise_on_failure=>true, :timeout=>0.1)
=> FastImage::ImageFetchFailure: FastImage::ImageFetchFailure

FastImage.size("http://upload.wikimedia.org/wikipedia/commons/b/b4/Mardin_1350660_1350692_33_images.jpg", :raise_on_failure=>true, :timeout=>2.0)
=> [9545, 6623]


参考リンク


Github sdsykes / fastimage


fastimageと類似したimage_sizeとの機能比較。

[Ruby]画像の種類や画像の高さ・幅を判定するライブラリの比較


著者プロフィール
Webサイトをいくつか作っています。
著者プロフィール