まっしろけっけ

めもてきなやーつ

画像の色解析を行うrmagick-image_colorsというgemを作った

経緯

shiro-16.hatenablog.com

こちら経緯にもある通りデザイナーさんに言われたことを実現するため。

rmagickというgemがあるのでそれの拡張的な感じで書ければいいなー
と思い設計してみた。

概要

rmagick-image_colors | RubyGems.org | your community gem host

github.com

画像のURLもしくはpathを指定し、
その画像で使われている画像の色を解析し
多い色の順番に配列としてカラーコードとpointを返してくれる

install

gemなのでgemコマンドでinstallできます。
Gemfileに追記でもおk

$ gem install rmagick-image_colors

※RMagickを使っているのでImageMagickが必要になります。

使い方
image_colors = Magick::ImageColors.new('spec/fixtures/test.jpg')
image_colors.colors
=> [["#9AAEC9", 5], ["#9DAEC8", 4], ["#FDFDFD", 4].......

test.jpgの猫は同僚の実家で買っているとら様です

まとめ

RMagickはCで実装されている部分が多いのでRuby読むよりつらい・・・
大きい画像だとパフォーマンスがひどいことになる・・・
作成した後にMagick::Image#colorsをC言語で実装して
issue作成して本体にpull request送ってあわよくば取り込んで貰うとかやった方が良かったのかもと思った。時間があればやってみたい。