Entwickler-Ecke

WinForms - farbe eines bestimmten pixels feststellen


molitor - Di 03.02.09 18:43
Titel: farbe eines bestimmten pixels feststellen
hallo,
ich habe folgendes problem:
ich würde gerne die farbe eines bestimmten pixels, das aber nichts mit meinem programm zu tun hat, feststellen.
also die farbe einer bestimmten koordinate meines bildschirms


hättet ihr vielleicht einen lösungsansatz?

schon mal vielen dank im vorraus
mfG molitor


ebber - Di 03.02.09 18:52

Also wenn du die Frage in Google eintippst findest du sicher auch was.

Ich habe sowas mal in Delphi gemacht. Sollte wohl nicht schwer sein das nach C# zu übersetzen:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
var   DC : HDC;
      Col : TColor;
begin

    DC := CreateDC('DISPLAY'nilnilnil);
    Col := integer(GetPixel(DC, Mouse.CursorPos.X, Mouse.CursorPos.Y));
    DeleteDC(DC);
end;


Die Funktionen sollten wohl alle auf pinvoke.net zu finden sein.

MfG

//Edit:
http://www.c-sharp-forum.de/viewtopic.php?t=89895
Also einmal Fragen hätte gereicht.

Um kurz die andere Frage zu beantworten; Am besten mit einem Timer immer wieder die Farbe abfragen und mit der letzten Abfrage vergleichen.


molitor - Di 03.02.09 19:03

tut mir leid wegen dem doppelpost aber ich denke mein erstes thema hat mein problem nich genau geschildert

trotzdem vielen dank für die schnelle antwort nur leider bin ich ein relativer neuling in sachen programmierung mache es im moment auf fachabiturebene und kann den delphicode nich wirklich übersetzen


ebber - Di 03.02.09 19:26

Also ich gebe dir mal einen Anfang:


C#-Quelltext
1:
2:
3:
        [DllImport("gdi32.dll")]
        static extern IntPtr CreateDC(string lpszDriver, string lpszDevice,
           string lpszOutput, IntPtr lpInitData);

Sowas bekommt man wie gesagt z.B. von [url]pinvoke.net[/url]


C#-Quelltext
1:
2:
            IntPtr dc;
            dc = CreateDC("DISPLAY", String.Empty, String.Empty, IntPtr.Zero);


Das wäre mal der Anfang. Wenn dich das nicht weiter bringt kann ich dir vielleicht noch ein bisschen weiter helfen.


molitor - Mi 04.02.09 17:18

vielen dank hat mir sehr weiter geholfen

mfG molitor