Interoperabilität zwischen XAML und DirectX (Windows Store-Apps mit C++ und XAML)

Applies to Windows only

Aus: Umfassende Entwicklung einer Windows Store-App mit C++ und XAML: Hilo

Leitfaden-Logo

Vorherige Seite | Nächste Seite

Wenn Sie eine Windows Store-App mit C++ und XAML entwickeln und DirectX zum Verbessern der Leistung verwenden oder die Ressourcen in Ihrer App effektiver wiederverwenden möchten, finden Sie in diesem Artikel Informationen zu den ersten Schritten.

Download

Herunterladen des Beispiels

In dieser Schnellstartanleitung wird die SurfaceImageSource-Klasse verwendet. Diese Klasse ermöglicht das Erstellen von DirectX-Grafiken innerhalb eines XAML-Elements. Wenn Sie XAML vor einer DirectX-Swapkette im Vollbildmodus anzeigen müssen, sollten Sie die SwapChainBackgroundPanel-Klasse verwenden. Weitere Informationen finden Sie unter Interoperabilität von DirectX und XAML.

Sie erfahren Folgendes:

  • Interoperabilität zwischen XAML und DirectX in einer Windows Store-App mithilfe der SurfaceImageSource-Klasse
  • Verwenden von DirectX zum Erstellen eines Effekts und Anwenden des Effekts auf ein Bild
  • Steuern eines Direct2D-Bildeffekts in einer XAML-basierten Windows Store-App

Betrifft

  • Windows-Runtime für Windows 8
  • Visual C++-Komponentenerweiterungen (C++/CX)
  • XAML
  • DirectX

Erstellen und Ausführen des Schnellstarts

Erstellen Sie das DirectXRippel-Projekt analog zu einem Standardprojekt.

  1. Klicken Sie auf der Menüleiste auf Erstellen > Projektmappe erstellen. In diesem Buildschritt wird der Code kompiliert und als Windows Store-App gepackt.
  2. Nachdem Sie das Projekt erstellt haben, müssen Sie es bereitstellen. Klicken Sie auf der Menüleiste auf Erstellen > Projektmappe bereitstellen.
  3. Wählen Sie im Anschluss an die Bereitstellung des Projekts die DirectXRipple-Kachel aus, um die App auszuführen. Sie können auch in der Menüleiste von Microsoft Visual Studio auf Debuggen > Debugging starten klicken. Bei der Ausführung der App im Debugger wird das Projekt von Visual Studio bereitgestellt.

Wählen Sie auf dem Anfangsbildschirm die Schaltfläche Bild laden aus. Wählen Sie mit der Dateiauswahl eine JPG- oder PNG-Datei und dann die Schaltfläche Öffnen aus. Das Bild wird geladen und auf dem Bildschirm angezeigt. Wählen Sie einen Punkt auf dem Bild aus, um den Welleneffekt zu beobachten. Wenn Sie einen anderen Punkt auswählen, während die Welle animiert wird, bewegt sich der Mittelpunkt der Welle zu dieser Position. Sie können die Welle auch ziehen, während sie animiert wird.

Der auf ein Bild angewendete Welleneffekt

[Oben]

Projektmappenstruktur

Die DirectXRipple-Visual Studio-Projektmappe enthält ein Projekt, das diese wichtigen Klassen beinhaltet:

  • App-Klasse. Gibt den Einstiegspunkt für die App an und behandelt Aktivierungs- und Anhalteereignisse.
  • BasicReaderWriter-Klasse. Liest die Daten aus dem kompilierten Pixelshader für den Welleneffekt.
  • BasicTimer-Klasse. Eine Timerklasse, mit der die Renderschleife der App gesteuert wird.
  • D2DImageSource-Klasse. Die Interoperabilitätsklasse zwischen DirectX und XAML.
  • MainPage-Klasse. Definiert eine XAML-basierte Seitenklasse, die eine einfache Benutzeroberfläche enthält.
  • RippleEffect-Klasse. Implementiert den Welleneffekt als Wrapper um einen Pixelshader.
  • RippleImageSource-Klasse. Erbt von der D2DImageSource-Klasse und wendet den sich bewegenden Welleneffekt auf das Bild an.
  • WICImage-Klasse. Verwendet Windows Imaging Component (WIC) zum Laden und Anzeigen eines Bilds.

Viele der Klassen in DirectXRipple können ohne oder nur mit geringem Bearbeitungsaufwand auch in anderen Apps verwendet werden. Sie können auch die Organisation und die Ideen aus DirectXRipple anpassen.

[Oben]

Exemplarische Vorgehensweise für den Code

Eine exemplarische Vorgehensweise zu den wichtigen Aspekten dieses Beispiels finden Sie unter Schnellstart: Interoperabilität von XAML und DirectX.

 

 

Anzeigen:
© 2014 Microsoft