VB.netのプログラミングについておしえてください。フォームのある座標のRGB値をGetPixelを使って取得しようとしています。 Textbox1.textには92458985046671359等の値がはいります。RGB値にしては長すぎると思うのですが、何が悪いのでしょうか。


お手数うですが教えてください。


Public Class Form1
<System.Runtime.InteropServices.DllImport("USER32.DLL")> _
Private Declare Function GetPixel Lib "gdi32" Alias "GetPixel" _
(ByVal hdc As Long, ByVal nXPos As Long, ByVal nYPos As Long) As Long

Declare Function FindWindow Lib "User32.dll" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Dim whl As Long

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
whl = FindWindow("", "MyAppli")
'TextBox1.Text = whl.ToString()
Dim color As Long
color = Form1.GetPixel(whl, 100, 200)
TextBox1.Text = color.ToString()
End Sub

End Class

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2012/09/01 19:24:53
  • 終了:2012/09/08 19:25:03

回答(1件)

id:freemann No.1

freemann回答回数309ベストアンサー獲得回数502012/09/01 20:24:16

以下のような感じではないでしょうか。

デバッグはしておりません。

Dim c As Color = Form1.GetPixel(whl, 100, 200)
TextBox1.Text = c.ToArgb()

http://msdn.microsoft.com/ja-jp/library/system.drawing.color.toargb.aspx#Y0

http://msdn.microsoft.com/ja-jp/library/system.drawing.bitmap.getpixel(v=vs.80).aspx#Y555

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません