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]
参考リンク
fastimageと類似したimage_sizeとの機能比較。
[Ruby]画像の種類や画像の高さ・幅を判定するライブラリの比較
