Autor Beitrag
molitor
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Di 03.02.09 18:43 
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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 239
Erhaltene Danke: 1

Win XP, Win 7
C# (VS 2010), Delphi (2007), Expression 4
BeitragVerfasst: 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:

ausblenden 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:
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.


Zuletzt bearbeitet von ebber am Di 03.02.09 19:23, insgesamt 1-mal bearbeitet
molitor Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 239
Erhaltene Danke: 1

Win XP, Win 7
C# (VS 2010), Delphi (2007), Expression 4
BeitragVerfasst: Di 03.02.09 19:26 
Also ich gebe dir mal einen Anfang:

ausblenden 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]

ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 3



BeitragVerfasst: Mi 04.02.09 17:18 
vielen dank hat mir sehr weiter geholfen

mfG molitor