ClientHwndクラス ImageSearchメソッド
オブジェクトウインドウ内を検索して、色を示す2次元配列とマッチしたスクリーン座標値をPoint構造体で返します。
見つからない場合はPoint(-1,-1)を返します。
2次元配列について:
4x3ピクセル画像の配列を示します。サイトロジーは画像から配列に変換する機能を有しています。
1行目の色が左から連続していると、その連続数分検索速度は速くなります。
'赤赤赤赤
'青青白白
'緑緑緑白
Dim pixAry As Integer(,) = New Integer(,) { _
{&H0000FF,&H0000FF,&H0000FF,&H0000FF} _
, {&HFF0000,&HFF0000,&HFFFFFF,&HFFFFFF} _
, {&H00FF00,&H00FF00,&H00FF00,&HFFFFFF} _
}
使用法
'オブジェクトウインドウ内を検索して、色を示す2次元配列とマッチしたスクリーン座標値をPoint構造体で返します
Dim instance As ClientHwnd
Dim pixAry As Integer(,)
Dim returnValue As System.Drawing.Point
'Overloads
returnValue = instance.ImageSearch(pixAry)
'オブジェクトウインドウ内の指定した四方の幅を除く範囲を検索して
'色を示す2次元配列とマッチしたスクリーン座標値をPoint構造体で返します
Dim instance As ClientHwnd
Dim pixAry As Integer(,)
Dim offsetLeft As Integer
Dim offsetTop As Integer
Dim offsetRight As Integer
Dim offsetBottom As Integer
Dim returnValue As System.Drawing.Point
'Overloads
returnValue = instance.ImageSearch(pixAry, offsetLeft, offsetTop, offsetRight, offsetBottom)
使用例
'ClientHwndクラス ImageSearchメソッド
Imports System.Windows.Forms
Imports System.Drawing
Public Class AddIn
Private chw As ClientHwnd
Public Sub New()
chw = New ClientHwnd()
End Sub
Public Sub AddIn_Start()
Dim pixAry As Integer(,) = New Integer(,) { _
{&H0000FF,&H0000FF,&H0000FF,&H0000FF} _
, {&HFF0000,&HFF0000,&HFFFFFF,&HFFFFFF} _
, {&H00FF00,&H00FF00,&H00FF00,&HFFFFFF} _
}
Dim result As Point = chw.ImageSearch(pixAry)
If result.X <> -1 Then
MessageBox.Show("画像位置X:" & result.X.ToString & " Y:" & result.Y.ToString)
Else
MessageBox.Show("画像は見つかりませんでした")
End If
End Sub
End Class
'ClientHwndクラス ImageSearchメソッド
Imports System.Windows.Forms
Imports System.Drawing
Public Class AddIn
Private chw As ClientHwnd
Public Sub New()
chw = New ClientHwnd()
End Sub
Public Sub AddIn_Start()
Dim pixAry As Integer(,) = New Integer(,) { _
{&H0000FF,&H0000FF,&H0000FF,&H0000FF} _
, {&HFF0000,&HFF0000,&HFFFFFF,&HFFFFFF} _
, {&H00FF00,&H00FF00,&H00FF00,&HFFFFFF} _
}
Dim result As Point = chw.ImageSearch(pixAry,150,200,150,80)
If result.X <> -1 Then
MessageBox.Show("画像位置X:" & result.X.ToString & " Y:" & result.Y.ToString)
Else
MessageBox.Show("画像は見つかりませんでした")
End If
End Sub
End Class