画像処理の王者ことImageMagick。rubyでImageMagickを扱うには、RMagick一択だと思っていたが、最近だとMiniMagickというのもあるらしい
MiniMagickのメリット
- メンテナンスがRMagickより盛ん
- 書き方がRMagickより直感的(主観
- メモリの使用量が少ないらしい
本家githubより
I was using RMagick and loving it, but it was eating up huge amounts of memory. Even a simple script would use over 100MB of RAM.
とのこと
試してみる
環境
Gemfileに
gem "mini_magick"
して
require 'mini_magick' image = MiniMagick::Image.open("test.jpg") image.resize "200x200" image.write "test_converted.jpg"
しても
MiniMagick::Invalid: `identify /var/folders/6z/xq_8ddx97hq9hzlgwzjjdjbw0000gn/T/mini_magick20180117-38453-17ka2ql.jpg` failed with error: identify: unable to load module `/usr/local/Cellar/imagemagick/6.9.6-2/lib/ImageMagick//modules-Q16/coders/jpeg.la': file not found @ error/module.c/OpenModule/1302. identify: no decode delegate for this image format `JPEG' @ error/constitute.c/ReadImage/504.
とエラーが
解決策
なんでやねんbrew install imagemagick
ちゃんとしたわと思っていたが、どうもtiff対応のimagemagickでないとダメらしい
ってことで一旦アンインストール
$ brew uninstall imagemagick
libtiff対応のimagemagickインストール
$ brew install libtiff $ brew install imagemagick --with-libtiff
確認
$ convert -version Version: ImageMagick 7.0.7-21 Q16 x86_64 2018-01-08 http://www.imagemagick.org Copyright: © 1999-2018 ImageMagick Studio LLC License: http://www.imagemagick.org/script/license.php Features: Cipher DPC HDRI Modules Delegates (built-in): bzlib freetype jng jpeg ltdl lzma png tiff xml zlib