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

Windows Forms Discussion :

Une erreur générique s'est produite dans GDI+


Sujet :

Windows Forms

  1. #1
    Candidat au Club
    Inscrit en
    Février 2011
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Une erreur générique s'est produite dans GDI+
    Bonjour,

    J'ai la même erreur GDI que dans ce post ici
    Une erreur générique s'est produite dans GDI+.
    Sauf que mon problème est un peut différent, je n'utilise pas un filestream donc je ne sais pas comment et si je doit fermer quelquechose...

    Mon programme fait un screenshot de ou des écrans à intervale régulier (60s dans mon cas).
    J'utilise donc un thread que je suspend pendant 60s et je ré-écrase l'ancien screenshot avec le nouveau.

    Voiçi le code :

    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
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    foreach (Screen s in Screen.AllScreens)
    {
       bmpSS = new Bitmap(s.Bounds.Width,
          s.Bounds.Height,
          PixelFormat.Format32bppArgb);
     
       gfxSS = Graphics.FromImage(bmpSS);
     
       gfxSS.CopyFromScreen(
          s.Bounds.X,
          s.Bounds.Y,
          0,
          0,
          s.Bounds.Size,
          CopyPixelOperation.SourceCopy);
     
       //ajout de la date de creation du fichier 
       Font drawFont = new Font("Arial", 30);
       gfxSS.DrawString(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), drawFont, Brushes.LawnGreen, 0, 0);
     
       //sauvegarde fichier
     
       if (Properties.Settings.Default.format == "png")
       {
          if (s == Screen.PrimaryScreen)
             bmpSS.Save(AutoScreenShot.Properties.Settings.Default.path + "\\" + "autoscreenshot_screen1.png", ImageFormat.Png);
          else
             bmpSS.Save(AutoScreenShot.Properties.Settings.Default.path + "\\" + "autoscreenshot_screen2.png", ImageFormat.Png);
       }
       else if (Properties.Settings.Default.format == "jpeg")
       {
          if (s == Screen.PrimaryScreen)
             bmpSS.Save(AutoScreenShot.Properties.Settings.Default.path + "\\" + "autoscreenshot_screen1.jpg", ImageFormat.Jpeg);
          else
             bmpSS.Save(AutoScreenShot.Properties.Settings.Default.path + "\\" + "autoscreenshot_screen2.jpg", ImageFormat.Jpeg);
       }
     
       bmpSS = null;
       gfxSS = null;
     
    }
     
    Thread.Sleep(AutoScreenShot.Properties.Settings.Default.interval*1000);
    Merci d'avance

  2. #2
    Membre émérite
    Avatar de Samuel Blanchard
    Homme Profil pro
    Expert .NET
    Inscrit en
    Février 2010
    Messages
    1 504
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France

    Informations professionnelles :
    Activité : Expert .NET

    Informations forums :
    Inscription : Février 2010
    Messages : 1 504
    Points : 2 682
    Points
    2 682
    Par défaut
    Tu n'appelles jamais les méthodes Dispose de tes objets Graphics et Bitmap ce qui est mal
    .
    Pas de question technique en MP, merci.
    .
    Un emulator Gameboy Color pour Windows Phone ?
    c'est moi qui l'ai fait

Discussions similaires

  1. [XL-2010] Liens hypertexte / une erreur inattendue s'est produite
    Par GADENSEB dans le forum Excel
    Réponses: 2
    Dernier message: 21/05/2014, 16h26
  2. Réponses: 0
    Dernier message: 26/04/2012, 20h55
  3. Réponses: 0
    Dernier message: 17/06/2010, 16h13
  4. Réponses: 7
    Dernier message: 06/05/2010, 18h58
  5. Réponses: 4
    Dernier message: 30/04/2009, 15h13

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