元ネタ
環境
OS X ElCapitan 10.11.5
ruby 2.0.0p648 (macのデフォルト)
準備
terminalにて
画像処理のための rmagick
とExcel操作の為の rubyXL
というgemをインストールします
terminal
$ gem install rmagick
$ gem install rubyXL
ソースコード
draw_excel.rb
require 'rubyXL'
require 'RMagick'
img = Magick::ImageList.new(ARGV[0])
# Excelを作成し、最初のシートを選択
book = RubyXL::Workbook.new
sheet = book[0]
img.each_pixel do |pixel, y, x|
# ピクセル色を16進数で取得
color = pixel.to_color(Magick::AllCompliance, false, img.depth, true)
color.delete!('#')
# 塗りつぶし
sheet.add_cell(x, y, '')
sheet.sheet_data[x][y].change_fill(color)
# 行、列の幅変更
sheet.change_column_width(x, 0.01)
sheet.change_row_height(y, 5)
end
file_name = File.basename("#{ARGV[0]}", '.*')
book.write("#{file_name}.xlsx")
実行
terminal
$ ruby draw_excel.rb sasaki.png
完成品
出力
拡大
おおー!(感動)