LoginSignup
0
0

More than 3 years have passed since last update.

RMagickを導入して、既存の既存の画像ファイルを別のフォーマットに変換する

Last updated at Posted at 2020-09-17

問題

すでにRMagickが導入されている環境において、既存の画像ファイルを別のフォーマットに変換したい場合は、どのようにすれば良いでしょうか?

解決策

以下はローカルに存在するpngファイルをwebp形式に変換するサンプルコードになります。

require 'rmagick'

image = Magick::ImageList.new('xxx.png')
image.write('xxx.webp')

RMagickの導入

ここからはRMagickの導入方法を示します。

ImageMagickの導入

RMagickは前提ソフトウェアとしてImageMagickを必要とします。インストール方法は環境ごとにRMagickのREADME.mdを参考にインストールしてください。わたしの環境はmacOSで、かつ、パッケージマネージャHomebrew導入済みなので、非常に簡単でした。

brew update
brew upgrade
brew install imagemagick

RMagickの導入

Imagemagickの導入後はRubyGem経由で、rmagickをインストールします。これについてもRMagickのREADME.mdが参考になります。ちなみにわたしはbundlerを利用しました。

bundle init
vi Gemfile     #=> gem 'rmagick' を追記
bundle install

ちなみにRMagickの導入は結構トラブルが多いようなので、なにか困った場合はRMagickのREADME.mdの"Things that can go wrong"を参考にするとよいと思います。

わたしの環境でもbundle installの際に以下のようなエラーが発生。

Gem::Ext::BuildError: ERROR: Failed to build gem native extension.
ERROR: Can't install RMagick 4.1.2. Can't find pkg-config in

このトラブルについても"Things that can go wrong"の対応方法を元に解消することができました。

brew install pkg-config

環境情報

$ brew -v
Homebrew 2.5.1
Homebrew/homebrew-core (git revision a2bbe; last commit 2020-09-16)
Homebrew/homebrew-cask (git revision dfa88; last commit 2020-09-16)
$ ruby -v
ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin18]
$ bundle -v
Bundler version 2.1.2
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0