■85564 / inTopicNo.1) |
画面の一部の変化を監視したい |
□投稿者/ 鳥取県 (1回)-(2017/11/06(Mon) 11:07:38)
|
分類:[.NET 全般]
画面の一部の変化を監視し、 もし、変化があったら、アクションを起こすプログラムを作りたいと考えています。
それで画面の一部を監視する方法に関して教えてください。
画面の一部をキャプチャーするには以下のコードで書くことができます。
Dim myBitmap As Bitmap = New Bitmap(1, 1) Dim g As Graphics = Graphics.FromImage(myBitmap) g.CopyFromScreen(New Point(X, Y), New Point(0, 0), New Size(1, 1))
それで後は
Dim PixColor As Color = myBitmap.GetPixel(0, 0)
でそれぞれのピクセルの色を取得することができます。
監視するには、毎回Forループで監視する場所のピクセルを一つずつ比較するしかないですか?
If myBitmap = myBitmap2 Then
End If
のように一度に画像を比較できれば良いのですが、このようなことはできないでしょうか?
あと、検索してみると https://oshiete.goo.ne.jp/qa/7221405.html
GetPixel を使用して1ピクセルずつ比較するよりも OpenCV や OpenCVCharp などのテンプレートマッチングというものを使った方が高速であるというページが見つかりました。
読んでみましたが、具体的にどのように使えば良いのか分かりませんでした。
どなたか最善の方法をお教えくださいませ。
|
|