Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#11

AW: Directx bitmap stretchen/Skalieren

  Alt 2. Jan 2014, 17:12
Also ab Vista kann man auch mit GDI Screenshots von DirectX- und OpenGL-Fenstern machen. Wichtig ist glaube ich nur, dass man beim BitBlt vom Desktop auf das Bitmap CAPTUREBLT beim mit angibt. Zumindest wenn man transparente (layered) Fenster mit drauf haben will, braucht man das. Daher nehme ich an, dass man es für DirectX- und OpenGL-Fenster auch braucht.

Allerdings klappt das nur, wenn der DWM läuft. Das heißt, Aero muss aktiviert sein.

Falls du es aber hinkriegst, mit DirectX einen Screenshot zu erzeugen, würde mich das auch interessieren. Das hatte ich vor Jahren mal probiert, aber hatte das gleiche Problem wie du: Überall stand was anderes und nichts davon funktionierte.
GDI ist aber langsamer wie DirectX und ich muss auch Rücksicht auf die Host-Anwendung nehmen.
Ansonsten wären das 5 Zeilen Code da ich alle Frames zum rendern in meiner DLL direkt abgreifen kann.
Aber wie gesagt muss es mit DirectX machen da Win8 kein DWM mehr unterstützt.. was noch dazu kommt.


gruss

Geändert von EWeiss ( 2. Jan 2014 um 17:42 Uhr)
  Mit Zitat antworten Zitat