Interopérabilité entre XAML et DirectX (applications du Windows Store en C++ et XAML)

Applies to Windows only

Source : Développement d’une application du Windows Store en C++ et XAML de bout en bout : Hilo

Logo de Patterns & Practices

Page précédente | Page suivante

Si vous développez une application du Windows Store en C++ et XAML et si vous voulez utiliser Microsoft DirectX pour améliorer les performances ou optimiser les ressources de votre application, cet article vous servira de point de départ.

Téléchargement

Télécharger l’exemple

Ce démarrage rapide utilise la classe SurfaceImageSource, qui vous permet de composer des graphismes DirectX dans un élément XAML. Si vous avez besoin d’afficher du contenu XAML devant une chaîne d’échange DirectX en mode plein écran, utilisez la classe SwapChainBackgroundPanel. Pour plus d’informations, voir Technologie interop DirectX et XAML.

Vous apprendrez

  • Comment implémenter l’interopérabilité entre XAML et DirectX dans une application du Windows Store à l’aide de la classe SurfaceImageSource.
  • Comment utiliser DirectX pour créer et appliquer un effet à une image.
  • Comment contrôler un effet d’image Direct2D dans une application du Windows Store en XAML.

S’applique à

  • Windows Runtime pour Windows 8
  • Extensions des composants Visual C++ (C++/CX)
  • XAML
  • DirectX

Génération et exécution du démarrage rapide

Générez le projet DirectXRipple à la manière d’un projet standard.

  1. Dans la barre de menus, choisissez Générer > Générer la solution. Au cours de l’étape de génération, le code est compilé et ajouté dans un package en tant qu’application du Windows Store.
  2. Après avoir généré le projet, vous devez le déployer. Dans la barre de menus, choisissez Générer > Déployer la solution.
  3. Après avoir déployé le projet, choisissez la vignette DirectXRipple pour exécuter l’application. Ou bien, dans Microsoft Visual Studio, dans la barre de menus, choisissez Déboguer > Démarrer le débogage. Si vous exécutez l’application dans le débogueur, Visual Studio déploie le projet.

Sur l’écran initial, choisissez le bouton Charger l’image. Utilisez le sélecteur de fichiers pour sélectionner un fichier JPG ou PNG, puis choisissez le bouton Ouvrir. L’image est chargée et affichée à l’écran. Choisissez n’importe quel point de l’image pour observer l’effet d’ondulation. Si vous choisissez un autre point pendant l’ondulation, le centre de l’ondulation se déplace à l’emplacement correspondant. Vous pouvez également faire glisser l’ondulation pendant qu’elle a lieu.

Effet d’ondulation appliqué à une image

[Haut]

Structure de la solution

La solution Visual Studio DirectXRipple contient un projet, qui comprend les classes principales suivantes :

  • Classe App. Spécifie le point d’entrée de l’application et gère les événements d’activation et de suspension.
  • Classe BasicReaderWriter. Lit les données à partir du nuanceur de pixels d’effet d’ondulation compilé.
  • Classe BasicTimer. Classe de minuterie utilisée pour piloter la boucle de rendu de l’application.
  • Classe D2DImageSource. Classe d’interopérabilité entre DirectX et XAML.
  • Classe MainPage. Définit une classe de page XAML qui contient une interface utilisateur simple.
  • Classe RippleEffect. Implémente l’effet d’ondulation sous forme de wrapper autour d’un nuanceur de pixels.
  • Classe RippleImageSource. Hérite de la classe D2DImageSource et applique l’effet d’ondulation dynamique à l’image.
  • Classe WICImage. Utilise le composant Imagerie Windows (WIC) pour charger et afficher une image.

Avec peu ou pas de modifications, vous pouvez réutiliser la plupart des classes de DirectXRipple dans une autre application. Vous pouvez également adapter l’organisation et les idées de DirectXRipple.

[Haut]

Procédure de codage pas à pas

Pour obtenir une procédure pas à pas relative à certains points importants de cet exemple, voirDémarrage rapide sur l’interopérabilité entre XAML et DirectX.

 

 

Afficher:
© 2014 Microsoft