Microsoft Silverlight 4 - Tutoriel 6 : Imager

Visionneuse d'images simple avec l'animation de projection

Ce tutoriel fait partie d'une série de niveau débutant-intermédiaire pour apprendre Silverlight 4 par le biais d'exemples pas à pas.

Langage : VB.NET

Public visé : niveau Débutant

Commentez ce tutoriel : Commentez Donner une note à l'article (5)

Article lu   fois.

Les trois auteurs et traducteur

Site personnel

Traducteur :

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Traduction

Ce tutoriel est la traduction la plus fidèle possible du tutoriel original de Peter Bull, Microsoft Silverlight 4 - Simple Image Viewer with Projection Animation.

Introduction

Créez avec ce tutoriel une application simple de visualisation d'images avec des effets d'animations simples en utilisant une animation sur la projection créée par une procédure.

Visionneuse d'images simple avec l'animation de projection

Étape 1

Démarrez Microsoft Visual Web Developer 2010 Express, puis sélectionnez Fichier puis Nouveau Projet... Sélectionnez Visual Basic, puis Application Silverlight dans les modèles installés, ensuite sélectionnez un emplacement si vous le souhaitez, puis entrez un nom pour le projet et appuyez sur OK :

Image non disponible

Étape 2

Une nouvelle fenêtre Nouvelle application Silverlight devrait apparaître, décochez la case Héberger l'application Silverlight sur un nouveau site Web, puis sélectionnez la Version de Silverlight ciblée :

Image non disponible

Étape 3

Une page vierge nommée MainPage.xaml devrait alors apparaître :

Image non disponible

Étape 4

Puis dans la section Tous les contrôles Silverlight de la Boîte à outils, sélectionnez le contrôle Canvas :

Image non disponible

Étape 5

Dessinez un Canvas sur la page, ensuite dans le volet XAML au-dessus de </Grid> modifiez la ligne Canvas1 comme ceci :

 
Sélectionnez
<Canvas Height="35" Width="400" VerticalAlignment="Top" HorizontalAlignment="Left" Name="Toolbar"></Canvas>

Voir ci-dessous :

Image non disponible

Étape 6

Puis dans la section Contrôles Silverlight communs de la Boîte à outils, sélectionnez le contrôle Button :

Image non disponible

Étape 7

Dessinez quatre boutons sur la page en glissant le contrôle Button de la Boîte à outils sur la page, ou dans le volet XAML entre les balises <Canvas> et </Canvas> tapez le code suivant :

 
Sélectionnez
<Button Canvas.Left="6" Canvas.Top="6" Height="23" Width="75" Name="Button1" Content="Button"/> 
<Button Canvas.Left="87" Canvas.Top="6" Height="23" Width="75" Name="Button2" Content="Button"/> 
<Button Canvas.Left="168" Canvas.Top="6" Height="23" Width="75" Name="Button3" Content="Button"/>
<Button Canvas.Left="249" Canvas.Top="6" Height="23" Width="75" Name="Button4" Content="Button"/> 

Voir ci-dessous :

Image non disponible

Étape 8

Cliquez sur le premier Button (Button1), ensuite allez dans la boîte Propriétés et changez le Name à Open et la propriété Content de Button à Open... :

Image non disponible

Étape 9

Cliquez sur le deuxième Button (Button 2), puis allez dans la boîte Propriétés et changez le Name à Pitch et la propriété Content de Button à Pitch. Ensuite cliquez sur le troisième Button (Button 3), allez dans la boîte Propriétés et changez le Name à Roll et la propriété Content de Button à Roll. Cliquez sur le quatrième Button (Button 4), allez dans la boîte Propriétés et changez le Name à Yaw et la propriété Content de Button à Yaw, la page devrait apparaître comme ci-dessous :

Image non disponible

Étape 10

Ensuite dans le volet XAML, pour ajouter un contrôle Image dans la page, ajoutez le code XAML suivant en dessous de la ligne </Canvas> et au-dessus de la ligne </Grid> :

 
Sélectionnez
<Image Height="200" Width="300" Margin="50,65,0,0" Stretch="Uniform" VerticalAlignment="Top" HorizontalAlignment="Left" Name="Display">
  <Image.Projection>
    <PlaneProjection x:Name="Target"/>
  </Image.Projection>
</Image>

Voir ci-dessous :

Image non disponible

Étape 11

Faites un clic droit sur la page ou sur l'entrée pour MainPage.xaml dans l'Explorateur de solutions et choisissez l'option Afficher le code. Dans la vue de code, endessous de la ligne Inherits UserControl tapez le code suivant :

 
Sélectionnez
Private Rotating As Boolean
Private Rotation As New Storyboard
Image non disponible

Étape 12

Puisque nous en sommes à la vue de code pour MainPage.xaml, en dessous du End Sub pour le constructeur Public Sub New(), tapez le Sub suivant :

 
Sélectionnez
Private Sub Rotate(ByRef Parameter As Object)
  If Rotating Then
    Rotation.Stop()
    Rotating = False
  Else
    Dim _animation As New DoubleAnimation
    _animation.From = 0.0
    _animation.To = 360.0
    _animation.Duration = New Duration(TimeSpan.FromSeconds(10))
    _animation.RepeatBehavior = Animation.RepeatBehavior.Forever
    Storyboard.SetTarget(_animation, Target)
    Storyboard.SetTargetProperty(_animation, New PropertyPath(Parameter))
    Rotation.Children.Clear()
    Rotation.Children.Add(_animation)
    Rotation.Begin()
    Rotating = True
  End If
End Sub
Image non disponible

Étape 13

Retournez au concepteur de vues en sélectionnant l'onglet MainPage.xaml, ou faites un clic droit sur la page ou sur l'entrée pour MainPage.xaml dans l'Explorateur de solutions et choisissez l'option Concepteur de vues.

Double-cliquez sur le contrôle Button « Open... » et tapez ceci dans le Sub Open_Click :

 
Sélectionnez
Dim OpenDialog As New OpenFileDialog
OpenDialog.Filter = "JPEG Image (*.jpg;*.jpeg)|*.jpg;*.jpeg"
If OpenDialog.ShowDialog Then
  Try
    If OpenDialog.File.Exists Then
    Using FileStream As IO.Stream = OpenDialog.File.OpenRead
      Dim Source As New Imaging.BitmapImage
      Source.SetSource(FileStream)
      Display.Source = Source
    End Using
  End If
  Catch ex As Exception
    ' Ignore Errors
  End Try
End If
Image non disponible

Étape 14

Retournez au concepteur de vues en sélectionnant l'onglet MainPage.xaml, ou faites un clic droit sur la page ou sur l'entrée pour MainPage.xaml dans l'Explorateur de solutions et choisissez l'option Concepteur de vues.

Double-cliquez sur le contrôle Button « Pitch » et tapez ceci dans le Sub Pitch_Click :

 
Sélectionnez
Rotate(PlaneProjection.RotationXProperty)
Image non disponible

Étape 15

Retournez au concepteur de vues en sélectionnant l'onglet MainPage.xaml, ou faites un clic droit sur la page ou sur l'entrée pour MainPage.xaml dans l'Explorateur de solutions et choisissez l'option Concepteur de vues.

Double-cliquez sur le contrôle Button « Roll » et tapez ceci dans le Sub Roll_Click :

 
Sélectionnez
Rotate(PlaneProjection.RotationZProperty)
Image non disponible

Étape 16

Retournez au concepteur de vues en sélectionnant l'onglet MainPage.xaml, ou faites un clic droit sur la page ou sur l'entrée pour MainPage.xaml dans l'Explorateur de solutions et choisissez l'option Concepteur de vues.

Double-cliquez sur le contrôle Button « Yaw » et tapez ceci dans le Sub Yaw_Click :

 
Sélectionnez
Rotate(PlaneProjection.RotationYProperty)
Image non disponible

Étape 17

Enregistrez le projet, maintenant que vous avez terminé l'application Silverlight. Sélectionnez Debug ensuite Démarrer le débogage ou cliquez sur Démarrer le débogage :

Image non disponible


Une fois que vous l'aurez fait, ce qui suit apparaîtra dans une nouvelle fenêtre du navigateur :

Image non disponible

Étape 18

Maintenant cliquez sur Open... Une FileOpenDialog - Open File - devrait apparaître, ensuite sélectionnez un fichier image JPEG ou un fichier .jpg / .jpeg sur votre ordinateur. Sélectionnez Open et le contenu apparaîtra dans le contrôle Image, que vous pouvez ensuite animer avec les boutons Pitch, Roll et Yaw :

Image non disponible

Étape 19

Fermez la fenêtre du navigateur en cliquant sur le bouton Fermer Image non disponible en haut à droite du navigateur Web pour Arrêter l'application.

Conclusion

Ceci est une application très simple sur l'animation d'une image en utilisant le code. Il est également possible d'avoir plusieurs animations - si vous déclarez un objet Animation pour chaque type, vous pouvez combiner des animations - voyez ce que vous pouvez ajouter et modifier pour la personnaliser !

Liens

Remerciements

Je tiens ici à remercier Peter Bull de m'avoir autorisé à traduire son tutoriel.
Je remercie tomlev pour sa relecture technique et ses propositions.
Je remercie également jacques_jean pour sa relecture orthographique et ses propositions.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Copyright © 2012 Peter Bull. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.