UWSCでPEEKCOLORを使い指定ウィンドウ内に、指定したカラーコードがあるかを判別して
そこをクリックさせたいのですが、画像認識の場合
ACW(GETID("xxxxx"),880,0,800,600,0)
CHKIMG("xxxx.bmp",0)
x=G_IMG_X // 画像の座標をxへ代入
y=G_IMG_Y // 画像の座標をyへ代入
BTN(LEFT, CLICK, x+30, y-30, 60)
x=G_IMG_X という命令で指定ウィンドウ内の画像を(x,y)座標に自動で代入してもらえるのですが、PEEKCOLORの場合はどういった書き方をすればいいのでしょうか??
上手く言いたいことが伝わっているか不安ですが、理解できる方宜しくお願いします。
No.2ベストアンサー
- 回答日時:
>PEEKCOLORの後にBTN命令入れましたが、指定カラーコード以外の場所でも手当たり次第クリックしてしまってます。
それって、次みたいにしたってことですか?だったら当然そうなります。
ダメな例:
For x=1 to 800
For y=1 to 600
If PeekColor(x,y)=探しているカラーコード Then Break 2
Btn(LEFT,CLICK,x,y)
Next
Next
良い例1:
For x=1 to 800
For y=1 to 600
If PeekColor(x,y)=探しているカラーコード Then Break 2
Next
Next
Btn(LEFT,CLICK,x,y)
良い例2:
For x=1 to 800
For y=1 to 600
Ifb PeekColor(x,y)=探しているカラーコード
Btn(LEFT,CLICK,x,y)
Break 2
EndIf
Next
Next
回答ありがとうございます。
まさにダメな例をやっていました。
良い例を試したところ、発見までに多少時間がかかるもののしっかりクリックしにいってくれました。
分かりやすい回答ありがとうございました。m(_ _)m
No.1
- 回答日時:
PEEKCOLOR関数の動作は、「ユーザーが指定した座標のカラーコードを返す」であり、「指定されたカラーコードが画面上のどこにあるかを返す」わけではありません。
なのですげ~原始的に、探したい範囲をループでなめて自分で探すしかないですね。例えば以下のスクリプトを実行すると、xとyに見つかった座標が入っています。For x=1 to 800
For y=1 to 600
If PeekColor(x,y)=探しているカラーコード Then Break 2
Next
Next
これを見て「じゃあ探したい色1ドットの画像を使ってChkImg関数で探せば一発じゃんか、俺って頭いい~!」と思った人は、ワナにはまります(苦笑)。ChkImg関数って、あまり小さい画像は見つけられないんですよね。経験上、縦横16ドット以上ない画像は見落としてしまうようです。(バージョンによって見つけられる大きさが変わるかも知れない)
あとワナがもう一点あって、PeekColor関数はウィンドウIDが引数にありません。すなわち、デスクトップに見えているものしか探さないので、もし検索対象が別のアプリに隠されていたらそれは見つかりません。なので必ず事前に、Acw関数でアクティブにしておく必要があります。
回答ありがとうございます。
CHKIMGだと画像が小さすぎると反応しないし、少しでも画像に変化があると読み込みませんよね。
書かれた通りの文をエディタに書き込んで動かして見たのですが、画面左上からy600座標の地点までマウスカーソルが動いては画面左上に戻るのを繰り返します。
PEEKCOLORの後にBTN命令入れましたが、指定カラーコード以外の場所でも手当たり次第クリックしてしまってます。
ひょっとして、指定範囲内にカラーコードがあった場合クリックということであれば、指定カラーコードの部分をクリックするわけではないでしょうか??
分かりにくい質問ですいません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) uwscとWinShotを使いスクリーンショットを撮る 1 2022/06/30 21:15
- その他(プログラミング・Web制作) uwscのCHKING関数の画像の認識がうまくいかない。 1 2022/06/18 20:55
- PHP PHP echo バックスラッシュの使い方 img要素 2 2023/01/08 22:46
- その他(OS) Windowsで大量の画像サイズを半自動で変更する方法 6 2023/02/17 08:45
- Windows 10 2つのウィンドウ選択時の表示について 10 2023/07/25 08:48
- Excel(エクセル) Excel VBAについてです。 少しだけ知識はあるのですが、 うまくいかなかったので 質問させてい 3 2022/09/13 18:40
- その他(開発・運用・管理) フォルダの中にファルダを作成してファイルを格納するバッチコマンド 1 2022/06/30 11:39
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- HTML・CSS スクロールすると追従する画像のコードを書いているのですが、追従する画像の大きさの調節が上手くいきませ 2 2022/04/18 12:52
- その他(プログラミング・Web制作) pythonで、tkinterとpillowの組み合わせ 2 2022/08/16 17:42
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
UWSCの色判定
その他(プログラミング・Web制作)
-
UWSCの色認識幅のスクリプトを正しく治していただけませんか?
その他(プログラミング・Web制作)
-
UWSCで色識別を行いたいのですが
その他(プログラミング・Web制作)
-
-
4
UWSCで変数をキー入力
その他(プログラミング・Web制作)
-
5
UWSCでの色判定について
その他(プログラミング・Web制作)
-
6
UWSCの待機コマンドについて
その他(ソフトウェア)
-
7
UWSC 画像認識で条件分岐
その他(プログラミング・Web制作)
-
8
UWSCのPEEKCOLORについての質問
その他(プログラミング・Web制作)
-
9
UWSCで指定箇所のみループ
その他(プログラミング・Web制作)
-
10
UWSCのBTN関数について。
C言語・C++・C#
-
11
【UWSC】HTML内のある部分を抽出したいのですが・・・
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAで他アプリケーション...
-
外付ディスプレイで AutoHotkey...
-
VBA HTML要素または文字の座標...
-
UWSファイルの編集?
-
JPGの画像ファイルの結合
-
C#で、画像の、指定した座標の...
-
エクセルVBAで画像を貼り付ける...
-
バナーにリンクを埋め込む方法
-
LineTo,MoveToについて
-
マウスイベントが動かない
-
マウス自動クリックソフトについて
-
VBでクリックイベントを発生さ...
-
AUTO CAD2007で長方形(四角)を...
-
UWSCでPEEKCOLORを使い指定ウィ...
-
OpenGLを使ったプログラムについて
-
VB、VBSでのキーマクロ
-
クリックした点を中止に拡大・縮小
-
「ご処理進めて頂きますようお...
-
エクセルで、日付を入力すると...
-
CloseとDisposeの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBAで画像を貼り付ける...
-
Excel VBAで他アプリケーション...
-
C#で、画像の、指定した座標の...
-
VBでクリックイベントを発生さ...
-
バナーにリンクを埋め込む方法
-
UWSC画像認識で座標の位置がず...
-
マウスイベントが動かない
-
uwscについて、同一の画像(仮...
-
外付ディスプレイで AutoHotkey...
-
VBAで ScreenToClient を使いたい
-
UWSCで特定の文字をクリックす...
-
VBA HTML要素または文字の座標...
-
マウスストーカーのようにカー...
-
UWSファイルの編集?
-
NoxPlayerとUWSCのadbの座標に...
-
C言語でグラフ作成??
-
特定座標のRGB値取得について
-
UWSCのCHKIMG関数について
-
Visual Studio .NET 2003:右揃...
-
JPGの画像ファイルの結合
おすすめ情報