読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

画像をHTMLテーブルに変換するスクリプト

Ruby RMagick

画像をHTMLテーブルに変換するスクリプトを書いてみました。特に使い道はありませんが・・・。

require 'rubygems'
require 'RMagick'
require 'erb'

# 画像をテーブルに変換するスクリプト。
imgs = Magick::Image.read("./kitten.jpg")
img = imgs.first

erb = ERB.new( <<-TEMPLATE, nil, "%" )
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"  xml:lang="ja" lang="ja">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <style>
      td.cell { width: 1px; height:1px; }
    </style>
  </head>
  <body>
    <table cellspacing=0 cellpadding=0>
      <tr>
% prev_y = 0
% img.each_pixel {|p,x,y|
%   color = p.to_color( Magick::AllCompliance, false, 8, true ) 
     <td class="cell" style="background-color:<%=color%>;"></td>
%   if y != prev_y
    </tr></tr>
%   end
%   prev_y = y
% }
     </tr>
    </table>
  </body>
</html>
TEMPLATE
open( "./img.html", "w" ) {|f|  f << erb.result(binding) }

↓の画像を対象に実行すると、

このようなHTMLが出力されます。※そこそこ重いので閲覧はご注意。