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

SDL Discussion :

enregistrer l image de l ecran dans une nouvelle surface


Sujet :

SDL

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut enregistrer l image de l ecran dans une nouvelle surface
    je cherche a copier l image qui se trouve sur l ecran dans une nouvelle surface, a n importe quelle moment ou l utilisateur le demande, la seule solution que j ai trouver est de sauvegarder l image avec SDL_SaveBMP et la reouvrir avec SDL_LoadBMP,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SDL_SaveBMP(screen, "fichier.bmp");
    SDL_Surface *img=SDL_LoadBMP("fichier.bmp");
    mais le temps d exection est tres long, je cherche aussi une solution un peu moins sale.
    Merci de votre aide.

  2. #2
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par djemw8
    je cherche a copier l image qui se trouve sur l ecran dans une nouvelle surface, a n importe quelle moment ou l utilisateur le demande, la seule solution que j ai trouver est de sauvegarder l image avec SDL_SaveBMP et la reouvrir avec SDL_LoadBMP,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SDL_SaveBMP(screen, "fichier.bmp");
    SDL_Surface *img=SDL_LoadBMP("fichier.bmp");
    mais le temps d exection est tres long, je cherche aussi une solution un peu moins sale.
    Merci de votre aide.
    Tu peux simplement faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    SDL_Surface* copieSurface(SDL_Surface *surf)
    {
      SDL_Surface *res;
      res = SDL_CreateRGBSurface(surf->flags, surf->w, surf->h, 
                          surf->format->BitsPerPixel, surf->format->Rmask,
                          surf->format->Gmask, surf->format->Bmask,
                          surf->format->Amask);
      if(res != NULL) {
         SDL_BlitSurface(surf, NULL, res, NULL);
      }
      return res;
    }
    Jc

  3. #3
    Membre actif
    Inscrit en
    Septembre 2003
    Messages
    391
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 391
    Points : 207
    Points
    207
    Par défaut
    Excellent!
    Et est-ce que celà marche aussi tout de suite apres le SDL_Flip (mais avant d'avoir commencé a contruire une nouvelle image sur screen bien sur) ?

    (j'ai pas de quoi tester là où je suis, merci)

  4. #4
    Expert éminent sénior

    Avatar de fearyourself
    Homme Profil pro
    Ingénieur Informaticien Senior
    Inscrit en
    Décembre 2005
    Messages
    5 121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur Informaticien Senior
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2005
    Messages : 5 121
    Points : 11 877
    Points
    11 877
    Par défaut
    Citation Envoyé par hpfx
    Excellent!
    Et est-ce que celà marche aussi tout de suite apres le SDL_Flip (mais avant d'avoir commencé a contruire une nouvelle image sur screen bien sur) ?

    (j'ai pas de quoi tester là où je suis, merci)
    Oui il n'y a pas de raison que cela ne fonctionne pas.

    Jc

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Merci Jc, j avais pense a cette solution, mais completement zappe de blitter apres, merci de m avoir eclairer.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 23/06/2015, 16h21
  2. Affichage des images de la ListView dans une nouvelle Activity
    Par h_ta9wa dans le forum Composants graphiques
    Réponses: 10
    Dernier message: 05/04/2013, 17h22
  3. [VB]Fond d'ecran dans une feuille MDI
    Par zejo63 dans le forum VB 6 et antérieur
    Réponses: 14
    Dernier message: 23/01/2006, 18h47
  4. image comme arrière-plan dans une fenetre?
    Par afrikha dans le forum GTK+ avec C & C++
    Réponses: 6
    Dernier message: 08/10/2005, 21h22
  5. enregistrer le chelin d'un fichier dans une table
    Par piscine dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/09/2004, 16h13

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