Wie kopiere ich Daten von TDirect2DCanvas (Direct2D Rendertarget)?

8

Ich probiere die Direct2D RenderTarget-Eigenschaft von C + + Builder TDirect2DCanvas aus, um Bitmapmanipulationen mit der GPU zu vergleichen. Dies ist im Vergleich zu GDI am beeindruckendsten. Ich kann jedoch nicht herausfinden, wie ich das Ergebnis zurück in den CPU-Speicher bringen kann, damit ich es für die weitere CPU-Verarbeitung verwenden kann. Habe über WIC gelesen, aber anscheinend verlierst du den größten Teil der Hardwarebeschleunigung. Windows 8 scheint ein neues Bitmap mit Map-Funktionalität zu bieten, aber ich möchte (Standard) Windows 7 verwenden. Auch C ++ Builder bietet die Header-Dateien für diese neuen Funktionen nicht an.

Wenn Sie TDirect2DCanvas oder ein Direct2D RenderTarget oder eine ID2D1Bitmap wünschen, wie kann ich die Bitmap in den Speicher der CPU kopieren?

    
Mike Versteeg 13.03.2014, 14:59
quelle

1 Antwort

0

Ich bin kein Experte in Delphi oder dem C ++ Builder, aber hier würde ich versuchen, aus einer DirectX-API-Perspektive.

  1. Erstellen Sie ein DXGI in Kombination mit Direct2D.
  2. Rendere deine Szene, wie du es bereits getan hast.
  3. Wie die DXGI-Swap-Kette für den Backbuffer, um die Pixelinformationen zu erhalten.

Hier ist ein sehr guter Artikel, der erklärt, wie man es macht: Ссылка

    
Jasper 13.05.2015 07:58
quelle

Tags und Links