dexion
2008-11-01, 00:48:40
Hallo Forum.
Wie der Threadtitel schon verrät, würde ich gerne mit C# ein OSD Zeichnen.
Es soll also direkt auf den Bildschirm gezeichnet werden, so dass ich immer meine gezeichneten Objekte sehe, egal welche Fenster gerade aktiv sind. Dies bedeutet gleichzeitig, dass das Gezeichnete keinen "Fokus" haben darf, denn die Fenster im Hintergrund sollen ja normal ansprechbar bleiben; auch wenn z.B. ein gezeichnetes Objekt einen OK-Button verdeckt, soll dieser bedienbar bleiben, wenn das dazugehörige Fenster aktiv ist.
Oder kurz gesagt: wenn ihr bei eurem Monitor die Knöpfe bedient, kommt ja auch ein Menü, das sich über alles zeichnet, ohne aber ins Geschehen einzugreifen. sowas meine ich. (Klar, das Monitor-OSD zeichnet der Monitor und nicht die Grafikkarte, aber ich denke ihr wisst, was ich meine).
Oder übertrieben gesagt, ihr zeichnet mit einem Filzstift einen Strich auf euren Monitor, das wäre auch sowas.
Es sollen nur Text, Linien (beliebiger Dicken) und Kreise (beliebiger Radien) gezeichnet werden, komplexere Objekte müssen nicht dargestellt werden können.
Google brachte mir nur ein Beispiel, welches bei mir leider nicht kompiliert (ist auch jahre alt) und sowieso nur mit unzähligen Zeilen Code ein simples schwarzes Quadrat gezeichnet hätte.
Es muss auch bedacht werden, dass wenn sich der Bildschirminhalt hinter dem OSD verändert, das OSD trotzdem "on-top" bleibt und nicht übermalt wird. Das Ganze im 2D Windows-Betrieb reicht aber, ich muss nicht irgendwelche Fullscreen-Spiele damit übermalen.
Naja, allerdings: wenn ihr mir jetzt sagt, invoke Datei x und macht ein call auf dies und das, dann versteh ich da nur Bahnhof. Habe diese Fachwörter gerade nur benutzt, weil ich denke, dass sie irgendwas damit zu tun haben und sich cool anhören :/ Also wären hilfreiche Details gerne erwünscht.
Danke schonmal =)
Wie der Threadtitel schon verrät, würde ich gerne mit C# ein OSD Zeichnen.
Es soll also direkt auf den Bildschirm gezeichnet werden, so dass ich immer meine gezeichneten Objekte sehe, egal welche Fenster gerade aktiv sind. Dies bedeutet gleichzeitig, dass das Gezeichnete keinen "Fokus" haben darf, denn die Fenster im Hintergrund sollen ja normal ansprechbar bleiben; auch wenn z.B. ein gezeichnetes Objekt einen OK-Button verdeckt, soll dieser bedienbar bleiben, wenn das dazugehörige Fenster aktiv ist.
Oder kurz gesagt: wenn ihr bei eurem Monitor die Knöpfe bedient, kommt ja auch ein Menü, das sich über alles zeichnet, ohne aber ins Geschehen einzugreifen. sowas meine ich. (Klar, das Monitor-OSD zeichnet der Monitor und nicht die Grafikkarte, aber ich denke ihr wisst, was ich meine).
Oder übertrieben gesagt, ihr zeichnet mit einem Filzstift einen Strich auf euren Monitor, das wäre auch sowas.
Es sollen nur Text, Linien (beliebiger Dicken) und Kreise (beliebiger Radien) gezeichnet werden, komplexere Objekte müssen nicht dargestellt werden können.
Google brachte mir nur ein Beispiel, welches bei mir leider nicht kompiliert (ist auch jahre alt) und sowieso nur mit unzähligen Zeilen Code ein simples schwarzes Quadrat gezeichnet hätte.
Es muss auch bedacht werden, dass wenn sich der Bildschirminhalt hinter dem OSD verändert, das OSD trotzdem "on-top" bleibt und nicht übermalt wird. Das Ganze im 2D Windows-Betrieb reicht aber, ich muss nicht irgendwelche Fullscreen-Spiele damit übermalen.
Naja, allerdings: wenn ihr mir jetzt sagt, invoke Datei x und macht ein call auf dies und das, dann versteh ich da nur Bahnhof. Habe diese Fachwörter gerade nur benutzt, weil ich denke, dass sie irgendwas damit zu tun haben und sich cool anhören :/ Also wären hilfreiche Details gerne erwünscht.
Danke schonmal =)