Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2932 connectés 

  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Problème ScreenShot

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème ScreenShot

n°2220917
thomashero​s
Posté le 27-02-2014 à 09:03:04  profilanswer
 

Bonjours à tous,
 
je m'adresse à vous car j'ai des messages d'erreurs en relation avec des bitmaps.
Je voudrais réaliser une vidéo avec une liste de bitmaps, mon programme marche nickel sauf que
si je veux enregistrer une video qui dure plus de 25s (environ) le système m'affiche une erreur avant la fin de l'enregistrement.
Le paramètre n'est pas valide. à :
-Bitmap b = new Bitmap(Panel1.Width, Panel1.Height, PixelFormat.Format32bppArgb);
 

Code :
  1. public Bitmap ScreenShot()
  2.  {
  3.   Bitmap b = new Bitmap(Panel1.Width, Panel1.Height, PixelFormat.Format32bppArgb);
  4.   using(Graphics g = Graphics.FromImage(b))
  5.   {
  6.    g.CopyFromScreen(155, 225, 0, 0, Panel1.Size, CopyPixelOperation.SourceCopy);
  7.   }
  8.   return b;
  9.  }
  10.  public void boucleWhile()
  11.  {
  12.   while(stopWhile == false)
  13.   {
  14.    listImage.Add(ScreenShot());
  15.    Thread.Sleep(50);
  16.   }
  17.  }


 
boucleWhile() est dans un thread.
Et des fois le message indique que l'erreur provient de : g.CopyFromScreen(155, 225, 0, 0, Panel1.Size, CopyPixelOperation.SourceCopy);
alors que je ne change pas le code... :heink: (ça arrive environ une fois sur deux)
Si quelqu'un pourrait m'aider ?

mood
Publicité
Posté le 27-02-2014 à 09:03:04  profilanswer
 

n°2220920
Yonel
Monde de merde !
Posté le 27-02-2014 à 09:20:02  profilanswer
 

A mon avis c'est justement parce que tu as des Threads avec des traitements qui se déroulent en même temps.
Tu devrais reprendre un cours sur les threads en ligne et voir s'il te manque pas, par exemple, une logique de verrous pour éviter les accès simultanés.

n°2220922
thomashero​s
Posté le 27-02-2014 à 09:31:53  profilanswer
 

Justement, je ne fais que d'appeler un seul thread et en plus je ne fais rien d'autre à coté !
 

Code :
  1. void Button2_Click(System.Object sender, System.EventArgs e)
  2.  {
  3.   boucle = new Thread(boucleWhile);
  4.   stopWhile = false;
  5.   boucle.Start();
  6.   tmp = false;
  7.   rec.Visible = true;
  8.   Button2.Text = "STOP";
  9.  }


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C#/.NET managed

  Problème ScreenShot

 

Sujets relatifs
probleme CSS avec ie8[résolut]problème avec char** new[] et delete[]
[VB.NET] Problème affichage collections dans listbox [VB.NET][Problème] Jquery .replace
PHP problème de codeC# Problème de clé absente du dictionnaire
Problème déploiement sur mobile 6.5probleme minuscules majuscules
Problème Importation base de donnéeProblème avec $_POST (Linux)
Plus de sujets relatifs à : Problème ScreenShot


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR