Hi,
ich stehe grade vor einem kleinen Problem und denke das ich es Falsch angehe.
Also ich habe einen ScreenShot von einem Programm, und will nun die X / Y Koordinate von einem Button bekommen, von diesem Button habe ich ein Bild welches ich erstmal in eine PictureBox geladen habe.
Hier der Quellcode:
Ich dachte mir jetzt, das er den Screenshot Pixel für Pixel vergleicht, wenn er einen Pixel findet der mit dem Button zusammenpasst, wird ab diesem Pixel geprüft ob dieser mit dem Button zusammen passt. Aber leider funktioniert das nicht und ist leider auch sehr unperformant. Gibt es vielleicht eine Einfachere Methode?
ich stehe grade vor einem kleinen Problem und denke das ich es Falsch angehe.
Also ich habe einen ScreenShot von einem Programm, und will nun die X / Y Koordinate von einem Button bekommen, von diesem Button habe ich ein Bild welches ich erstmal in eine PictureBox geladen habe.
Hier der Quellcode:
Code:
Bitmap tmp = new Bitmap("C:\\FindButton.bmp");
Bitmap button1 = (Bitmap)pictureBox1.Image;
int b1Treffer = 0;
for (int x = 0; x < tmp.Width; x++)
{
for (int y = 0; y < tmp.Height; y++)
{
if (tmp.GetPixel(x, y) == button1.GetPixel(0, 0))
{
for (int x2 = 0; x2 < button1.Width; x2++)
{
for (int y2 = 0; y2 < button1.Height; y2++)
{
if (tmp.GetPixel((x + x2), (y + y2)) == button1.GetPixel(x2, y2))
{
b1Treffer++;
}
else
{
b1Treffer = 0;
}
}
}
}
}
}
MessageBox.Show("Pixel - Treffer für Button1: " + b1Treffer);
}
Ich dachte mir jetzt, das er den Screenshot Pixel für Pixel vergleicht, wenn er einen Pixel findet der mit dem Button zusammenpasst, wird ab diesem Pixel geprüft ob dieser mit dem Button zusammen passt. Aber leider funktioniert das nicht und ist leider auch sehr unperformant. Gibt es vielleicht eine Einfachere Methode?