2016-05-05 10 views
-4

私はC#でプログラムを作っています。画像が画面上で検出されたら何かをしたい。たとえば、私がゲームのボットを作っているとしましょう。 C#は馬力と画像を検出した場合C#画像検出に基づいて何かを行う

TAKEN HP BAR

FULL HP BAR

と何かがこのレベルに自分のHPを取った:そして私の健康はそうのような緑の色で塗りつぶさ私の画面上の画像です取られて、何かをしなさい...これは可能であり、私はそれをどうすればできるのですか?ありがとう。

+1

を、彼は彼女とはい、彼女はあるゲームボット – Pikoh

+0

をしようとしているように見えますゲームのボットを書こうとしているので、大したことは何ですか? –

+0

StackOverflow私たちがいくつかの質問をd​​ownvoteするときにいくつかの有用なコメントを提供することをお勧めします。なぜ彼らはそうするのですか?私はなぜあなたに言う?なぜなら、ここでの客観的な目標は、人々が特に新しい人をより良くするために役立つからです。何かが分からないとわかったら、なぜそれをやる人を育てることができないのですか?今、どのように地球探検の探求者が彼女の質問に間違っているか分かるでしょう。私はなぜ人々は何かをするのだろうかと思うのです。そして私は調整された推測を持っています。私のコメントと質問とは何が関係しているのですか?オフトピックです。それは私がここで助けのジェスチャーを見ないのでではありません。 –

答えて

1

私はゲームのボットを書きました。寿命が低下したときを検出するには、特定のピクセルの色をスキャンし、サンプル値でテストします(たとえば、四角形の中央にピクセルをキャプチャし、緑色では寿命の半分以上をキャプチャできます)。

また、私はスクリーンショットを作成し、いくつかの領域をカットし、ビットマップとして保持しました。ゲームをロードした後、毎秒スクリーンショットを作成し、スクリーンショットにこれらのビットマップが表示されているかどうかを確認しました。あなたはグラフィックスのCopyFromScreen方法を使用することができますC#で画面をキャプチャする

:OPはゲームを書いていない

var screen = new Bitmap(Screen.PrimaryScreen.Bounds.Width, 
         Screen.PrimaryScreen.Bounds.Height, 
         PixelFormat.Format32bppArgb); 
var graphics = Graphics.FromImage(screen); 
graphics.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, 
         Screen.PrimaryScreen.Bounds.Y, 
         0, 0, 
         Screen.PrimaryScreen.Bounds.Size, 
         CopyPixelOperation.SourceCopy); 
関連する問題