画像からGetPixelでピクセル情報を取得し、セルの色を変更(Excel VBA)

| コメント(4) | トラックバック(0)
画像からGetPixelでピクセル情報を取得し、セルの色を変更する Excel VBAのコードを書いてみました。
Excelで使える色数に制限があるため、うまくいかないこともありますが、
作ってしまったので載せておきます。

なぜこんなものを作ったかというと、以前の記事と組み合わせて、
画像からピクセル情報をテキストに落としたかったため。

C#を使えばすぐにできるのですが、Excelのセルにも反映させてたら
おもしろそうだと思ってしまったためです。思ったより苦労しました。
VBAでいろいろやろうとすると難しいです><


★概要
・画像を読み込み、Pixel情報を取得
・Excelのセルの色を取得した色に変更
・取得した値をセルの値として入力
excel_pixel_test.png
↑実行のイメージ
 ※実際はセルに値が入ります。
 ※Excelの制限により、うまく色がつかないことがあります。
  ⇒参考記事


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

Excel_UserForm.png
↑あらかじめ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

トラックバック(0)

トラックバックURL: http://www.bird-soft.net/mt5/mt-tb.cgi/218

コメント(4)

はじめまして。

ここと言います。

仕事で撮影した写真の面積を求めたいので探していましたら
こちらにたどりつきました。

さっそく、Excelで使わせて頂いたのですが、「パレットが足りません」とメッセージが表示されて、わかりません。

教えていただけないでしょうか?

ここさん、はじめまして。
使ったExcelは以下のURLのもでしょうか?
http://www.bird-soft.net/mt/2008/07/getpixel2excel_vba.html
こちらにも書いてありますが、Excelのパレットで扱える色数が約50色程度しかないので、写真をそのまま読み込ませると「パレットが足りない」となります。
(写真は色数がとても多いのです)

そこで、あらかじめ減色ソフトなどで色数を50色程度に減らしてから試してみてください。

はじめまして。
初心者です。よろしくお願いします。

JPG画像の任意のピクセルの色を抽出したいと考えています。
こちらの下記プログラムの前半部分を使わせていただいていますが、なかなかコードの変更がうまくいきません。
よい方法をご教授いただけないでしょうか?


http://www.bird-soft.net/mt/2008/07/getpixelexcel_vba.html

マップ画像を1ピクセル1セル単位で貼り付けたいと思い、検索しているとこのサイトに出会いました。プログラム結果を画像で載せられているので分かりやすいです。参考にさせて頂きます。

最近のブログ記事

お知らせ
[お知らせ] ・その1  Movable…
CANON EOS 7D レビュー
新しい一眼レフ「EOS 7D」を買いまし…
コスモス畑
先週、あけぼの山農業公園のコスモス畑に行…