C # Erfassen des direkten 3D-Bildschirms

8

Ich habe jetzt schon eine Weile mit der Bildschirmaufnahme herumgespielt und es geschafft, den gesamten Bildschirm, bestimmte Bereiche auf dem Bildschirm usw. zu erfassen ...

Aber wenn ich in ein Spiel gehe und versuche, den Bildschirm zu erfassen, ignoriert es das Spiel vollständig und erfasst stattdessen den Desktop (oder was auch immer hinter dem Spielfenster ist). Eine weitere interessante Tatsache ist, dass das Gleiche mit der PrtScn Taste passiert.

Irgendwelche Ideen, wie man den Bildschirm eines Spiels festhält?

    
Or Betzalel 26.05.2011, 16:45
quelle

1 Antwort

7

Die von Ihnen verwendete Bildschirmaufnahmetechnik eignet sich gut zum Erfassen von Objekten, die nicht hardwarebeschleunigt sind. Ich vermute, dass Sie das gleiche Problem haben, wenn Sie versuchen, einen Filmrahmen in Windows Media Player zu erfassen.

Die Lösung ist eine Bildschirmaufnahme von der Hardware selbst mit DirectX. In diesem Artikel wird erklärt, wie man das mit Code und einem verwalteten Wrapper um DirectX namens SlimDX .

BEARBEITEN Wenn Slim DX nicht für Sie funktioniert, müssen Sie nur einen anderen verwalteten Wrapper für Direct X finden. Ich glaube nicht, dass Sie die Bildschirmaufnahme durchführen können, ohne auf der Hardwareebene und DirectX zu arbeiten ist das Mittel, das auf der Windows-Plattform zu tun.

    
vcsjones 26.05.2011, 16:49
quelle

Tags und Links