画像からGetPixelでピクセル情報を取得し、セルの色を変更する
Excel VBAのコードを書いてみました。
Excelで使える色数に制限があるため、うまくいかないこともありますが、
作ってしまったので載せておきます。
なぜこんなものを作ったかというと、
以前の記事と組み合わせて、
画像からピクセル情報をテキストに落としたかったため。
C#を使えばすぐにできるのですが、Excelのセルにも反映させてたら
おもしろそうだと思ってしまったためです。思ったより苦労しました。
VBAでいろいろやろうとすると難しいです><
★概要
・画像を読み込み、Pixel情報を取得
・Excelのセルの色を取得した色に変更
・取得した値をセルの値として入力

↑実行のイメージ
※実際はセルに値が入ります。
※Excelの制限により、うまく色がつかないことがあります。
⇒参考記事
※画像関連の主要コード(WinAPIを使って、hDCを取得するところ)は
「Excel VBA質問箱 IV」の「 【54098】Re:フォーム上のイメージに文字を追加する方法」
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=54098;id=excel
のコードを使わせていただきました。ありがとうございます。
まだ未整理のため、使わないコードもまざっていますがご了承ください。

↑あらかじめCommandButton1、Image1をUserFormに作成しておきます。
今回、コードはUserForm1だけに書くだけでよいです。
C:\test.bmp"にテスト用の画像を配置しておきます。
(サンプルでは20*20まで。重くなるが、コード変更でさらに大きい画像でも対応可)
追記:
「excel vba ゲーム」で検索してみたら、
pacmanパックマン
http://www.geocities.jp/nchikada/pac/index.htm
を見つけました。
Excelのセルの色だけでアクションゲームを作ってしまっています。
これはすごいです。まねできません・・・。
追記2:
エクセルを使って動画にしている人がいました(笑)
さすがにリアルタイムではなくて、
動画からビットマップ抜き出し
⇒減色ツールで減色
⇒Excelのセルに反映
⇒Excel画面のスクリーンショットを取る
⇒上記をつなげて動画にする
のようにしているみたいです。
エクセルでひぐらしのなく頃に解OP‐ニコニコ動画(夏)
http://www.nicovideo.jp/watch/sm1642964
おまけを解説してみた‐ニコニコ動画(夏)
http://www.nicovideo.jp/watch/sm2026262
◆おすすめ減色ソフト
Padie - 高精度な減色専用ツール
http://www.vector.co.jp/soft/win95/art/se063024.html