人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

●質問者: mai_mai_mail
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● freemann

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

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

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

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ