初めまして、
現在、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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Excel(エクセル) excel vba 参照渡しと値渡し 2 2022/04/27 10:45
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
画像のピクセルデータの取得
Visual Basic(VBA)
-
Bitmap.GetPixelより高速なもの
Visual Basic(VBA)
-
Excel VBAで画像解析
Access(アクセス)
-
-
4
エクセルVBAで2つの画像を比較したい
その他(プログラミング・Web制作)
-
5
エクセルVBAで画像を貼り付ける座標設定方法は?
PowerPoint(パワーポイント)
-
6
bmpファイルの明暗の数値化の方法
Visual Basic(VBA)
-
7
C#で、画像の、指定した座標の色情報を取得し
C言語・C++・C#
-
8
VBA「ポインタ直下の色」を取得
Access(アクセス)
-
9
VBAで配列からbmp画像を出力する方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
wordの差し込み印刷で文字...
-
DTOとEntityの差は何ですか。
-
【C#】DataGridViewの最大列数...
-
表を表示するコントロールについて
-
Windowsのマクロプログラムで、...
-
MSFlexGridのデータを初期化し...
-
WordでExcelデータを差込...
-
GridViewからチェックボックス...
-
クリップボード画像転送方法
-
php ページの複製
-
ActiveReportのサブレポート機...
-
HTMLリンク飛びがうまくいかない
-
Dosブロンプトでtabを出力したい
-
switch()文で値の大小比較
-
shシェルスクリプト 空白行の...
-
バッチファイルでpingの結果を...
-
phpでcookieがうまく保存されない
-
C#で特定LANアダプタの状態を取...
-
「取得先」という表現について
-
PHPのセッション有効期限について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wordの差し込み印刷で文字...
-
DTOとEntityの差は何ですか。
-
【C#】DataGridViewの最大列数...
-
excel access連携 このテーブル...
-
WordでExcelデータを差込...
-
ActiveReportのサブレポート機...
-
「外部データの取り込み」とい...
-
GridViewからチェックボックス...
-
MSFlexGridのデータを初期化し...
-
VBA内でのGetPixelを使用した時...
-
VB.NET 2017の勉強中です。 今...
-
Windowsのマクロプログラムで、...
-
エクセルVBAで楽天証券に注...
-
C#でのForm間のデータ受け渡し...
-
★お手上げ状態です。助けてくだ...
-
VB6.0とスプレッドシート
-
XMLHttpRequestでウェブページ取得
-
INIファイルに一括書き込みを行...
-
ADOを使用してExcelファイルを...
-
Access2000 CopyFromRecordset...
おすすめ情報