IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XNA/Monogame Discussion :

[XNA] Sauvegarder l'état d'un sprite


Sujet :

XNA/Monogame

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 11
    Points : 5
    Points
    5
    Par défaut [XNA] Sauvegarder l'état d'un sprite
    Bonjour,

    J'aurais une question. Je cherche à sauvegarder l'état d'un sprite. Je m'explique.
    J'ai une image quelconque sur laquelle j'effectue des symétries (FlipHorizontally, FlipVertically) et je voudrais sauvegarder ce "nouveau" sprite dans un fichier au format d'une image (*.png de préférence) ou juste dans un variable.
    Mon soucis est que la fonction Draw() et de type void ...

    Merci d'avance pour votre aide.
    Bonne fin d'après midi.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    255
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2002
    Messages : 255
    Points : 445
    Points
    445
    Par défaut
    Salut Katsuhiko,

    Je mets le code dans LoadContent et non dans Draw pour ne pas l'appeler 60x par sec, c'est juste pour avoir un aperçu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    protected override void LoadContent()
    {
        SpriteBatch spriteBatch = new SpriteBatch(GraphicsDevice);
        Texture2D MonImage = Content.Load<Texture2D>("MonImage");
        int width = MonImage.Width;
        int height = MonImage.Height;
        RenderTarget2D renderTarget = new RenderTarget2D(GraphicsDevice,
                                                         width,
                                                         height, 
                                                         false, 
                                                         SurfaceFormat.Color, 
                                                         DepthFormat.None,
                                                         0,
                                                         RenderTargetUsage.PreserveContents);
        GraphicsDevice.SetRenderTarget(renderTarget);
        Rectangle DestRect = new Rectangle(0, 0, width, height);
        spriteBatch.Begin();
        spriteBatch.Draw(MonImage, DestRect, null, Color.White, 0, Vector2.Zero, SpriteEffects.FlipVertically, 0);
        spriteBatch.End();
        GraphicsDevice.SetRenderTarget(null);
        using (Stream stream = File.Create("MonImageFlip.png"))
        {
            renderTarget.SaveAsPng(stream, width, height);
        }
    }
    Salutations.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 11
    Points : 5
    Points
    5
    Par défaut
    Parfait ! Merci beaucoup !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Sauvegarder un état en rtf
    Par fbu78 dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/11/2007, 11h14
  2. Sauvegarder un état dans un dossier
    Par PierrotKun dans le forum Access
    Réponses: 3
    Dernier message: 12/01/2007, 09h42
  3. [Strategie] Sauvegarde d'état
    Par nicolou dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 20/03/2006, 17h08
  4. Réponses: 1
    Dernier message: 05/10/2005, 12h33
  5. [IDE][VS.NET] Comment sauvegarder l'état des 'Region' ?
    Par CkurcK dans le forum Contribuez
    Réponses: 2
    Dernier message: 23/02/2004, 14h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo