
初めまして、
現在、ExcelVBAを勉強中です。
表題の通りですが、LoadPicture関数でbmpを読み込み、ピクセルのRGB値を取得しようとしているのですがうまくいきません。色々と検索して回ったのですが、探し方が悪いのか見つかりませんでした。
以下はソースになります。
Declare Function GetPixel Lib "gdi32" (ByVal hDC As Long, ByVal x As Long, ByVal y As Long) As Long
Sub Sample(bmpfile as String)
bmpdata = LoadPicture(bmpfile)
'デバッグ用表示
MsgBox (Hex(GetPixel(bmpdata, 1, 1)))
End Sub
サンプルで使用した画像データは10x10のすべて黒(#000000)で塗りつぶしたデータですが、デバッグ表示で見てみると何故かFFFFFFFFと表示されます。ほかの色も試しましたがデバッグ表示結果は同じでした。
どなたか詳しい方、原因などを教えて頂けますでしょうか。
よろしくお願いいたします。
No.1ベストアンサー
- 回答日時:
LoadPictureの戻り値はデバイスコンテキストハンドルでは無いのでエラーになっているのだと思います
LoadPictureの戻り値をLong型の変数に格納するとこれはビットマップハンドルが帰ってくるのだろうと思います
これを デバイスコンテキストハンドル(HDC)にそのまま変換する方法はありません
UserFormのImageコントロールにしてもHDCを取得する術がありません
やるなら GDIのGetObjectでビットマップ構造体のデータを取得
この構造体のメンバーからイメージバッファを計算して Byte型配列にデータを GetBitmapBitsで取得
データの欲しい座標から配列の位置を特定
といった手順が必要でしょう
この回答への補足
スイマセン、gooの教えて掲示板使うの初めてで…。
最初の内容はこちらに記述するべきだったんですね…。
ほんとゴメンナサイTT
解決しました!ありがとうございました!
返信が遅くなり、大変申し訳ございません。
現在、色々とGDI、GetObjectで色々と検索しながら試行錯誤中です。
具体的な手順まで指南していただき、本当にありがとうございます。
まだ解決はしていませんが、このまま何も返事を返さないのは失礼と思ったので取り急ぎ。。。
無事に解決したらまたこちらに結果を記載させて頂きます^^
ありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DTOとEntityの差は何ですか。
-
WordでExcelデータを差込...
-
C言語で地図を描きたい
-
Mysqlで2つのtable間のデータ移...
-
PHPでの画像の形式の変換
-
VBScriptでのWEBページのソース...
-
VB.NETでボリュームを取得・設...
-
Dosブロンプトでtabを出力したい
-
PHP 指定した期間だけ表示した...
-
PHP4からPHP5へ移行した際、セ...
-
昨日の日付を取得するVBscript
-
VBブラウザに表示されているテ...
-
ミュージックのアートワークを...
-
文字列から期間算出 09-12 12-12
-
4桁の乱数の発生
-
ログイン画面をはさんだ後、自...
-
こんなことはPHPで可能なのでし...
-
evalの中でNULLを使用して比較...
-
checkboxでの複数選択削除がわ...
-
ちょっと複雑なURL分解について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordの差し込み印刷で文字...
-
excel access連携 このテーブル...
-
【C#】DataGridViewの最大列数...
-
WordでExcelデータを差込...
-
DTOとEntityの差は何ですか。
-
MSFlexGridのデータを初期化し...
-
Strutsで画面に表示した値の再...
-
長い1枚ページを無限スクロール...
-
「外部データの取り込み」とい...
-
表を表示するコントロールについて
-
INIファイルに一括書き込みを行...
-
C言語で地図を描きたい
-
OleDbDataReaderで単精度浮動小...
-
GridViewからチェックボックス...
-
ASP.NET GridView の検索画面で...
-
VB webbrowserを使ってサイトの...
-
Excelデータの表示方法について
-
VBA内でのGetPixelを使用した時...
-
ActiveReportのサブレポート機...
-
アクセス+VBA 最適化
おすすめ情報