内容は janko/image_processing の README.md と同じもの
簡単な処理であれば 利用する画像処理ライブラリを選ぶ以外には共通したコードになりそう
前提
brew install imagemagick vips
でライブラリをインストール済み
画像ファイルを用意する
なにか適当な画像ファイルがほしいので http://placehold.it/850x850 にアクセスしてファイルをダウンロードする
wget https://placehold.it/850x850 -O 850x850.png
画像ファイルをリサイズ・保存する
require "image_processing/vips" path = File.expand_path('~/image_processing_gem/850x850.png') file = File.open(path, 'rb') pipeline = ImageProcessing::Vips .source(file) .convert("png") # 画像ファイルをリサイズする # 処理した画像ファイルは適当なディレクトリに保存される # Mac の場合: # /var/folders/dw/.../T/image_processing20190627-57516-6oj5sp.png large = pipeline.resize_to_limit!(800, 800) medium = pipeline.resize_to_limit!(500, 500) small = pipeline.resize_to_limit!(300, 300) # 適当な名前をつけて 画像ファイルを移動 size_name = %w[large medium small] [large, medium, small].each.with_index do |image_file, index| new_path = File.expand_path("~/image_processing_gem/850x850_#{size_name[index]}.png") FileUtils.mv(image_file, new_path) end
Links
- janko/image_processing: High-level image processing helper methods with libvips and ImageMagick/GraphicsMagick - GitHub
- libvips
- ImageMagick - Convert, Edit, or Compose Bitmap Images
- Placeholder.com: Placeholder Images Made For You [JPG, GIF & PNG]
- WEB+DB PRESS Vol.111|技術評論社
- Module: FileUtils#mv (Ruby 2.6.3)