ImageSearch

画面上から特定の画像に一致する部分を検索する

ImageSearch [, OutputVarX, OutputVarY], X1, Y1, X2, Y2, ImageFile

Parameters

OutputVarX, OutputVarY 発見された場合X座標とY座標が格納される変数名。
省略可能。
X1,Y1 検索対象となる矩形の左上の座標。
通常はアクティブウィンドウの左上からの相対座標だが、CoordModeコマンドを使うとスクリーン全体での座標になる。
X2,Y2 検索対象となる矩形の右下の座標。
通常はアクティブウィンドウの左上からの相対座標だが、CoordModeコマンドを使うとスクリーン全体での座標になる。
ImageFile 検索する画像のファイル名。GIF/JPG/BMP/ICO/CUR/ANI/EXE/DLL形式に対応。GDI+ DLL が対応していればPNG/TIF/Exif/WMF/EMFにも対応。EXE/DLLでは、アイコンが読み込まれる。
ただし、BMP以外は色の誤差などで正しく検索されない場合がある。
相対パスで指定した場合は、%A_WorkingDir%を基準としたパスとなる。
ファイル名の前に以下のオプションを半角スペース区切りで指定することができる。
*IconN
Nに複数のアイコンが含まれるファイルで、何番目のアイコンを読み込むかを指定。(例:「*Icon2」)
*n
色の比較の際に許す誤差を0-255で指定。(例:「*10」)
赤緑青それぞれの輝度の差がこの値以下のピクセルは一致とみなされる。
*TransN
Nに透過色とみなす色を指定。(例:「*TransBlack」「*TransFFFF00」「*Trans0xFFFF00」)
画像ファイル中の該当する色の部分は、どんな色とでも一致とみなされる。
*wN
*hM
N,Mに画像の幅/高さを指定する。
読み込み後にこのサイズにリサイズされる。
未指定時は、画像の元の高さが使用される。
ただし、アイコンの場合、システムのスモールアイコンのサイズ(通常は16*16)になる。
強制的に通常のサイズで読み込ませるには、「*w0 *h0」と指定する。
片方を「*w-1」または「*h-1」のように指定すると、縦横費を維持してリサイズされる

ErrorLevel

見つかれば「0」、見つからなければ「1」、問題が発生していれば「2」

Remarks

検索対象にできるのは、画面に表示されている部分だけであり、他のウィンドウに隠されたり画面からはみ出している部分などは検索できない。
ただし、マウスカーソルに隠れている部分は検索可能。

アイコンの透明色部分は、どんな色とでも一致とみなされる。

ディスプレイの色数の設定によって動作が変わる場合がある。
色数が256色(8ビット)未満の場合、このコマンドは動作しない。

Related

PixelSearch, PixelGetColor, CoordMode, MouseGetPos

Examples

ImageSearch,,, 40,40, 300, 300, C:\My Images\test.bmp
ImageSearch, FoundX, FoundY, 0, 0, A_ScreenWidth, A_ScreenHeight, *Icon3 %A_ProgramFiles%\SomeApp\SomeApp.exe
if ErrorLevel = 2
	MsgBox Could not conduct the search.
else if ErrorLevel = 1
	MsgBox Icon could not be found on the screen.
else
	MsgBox The icon was found at %FoundX%x%FoundY%.