Une exception non gérée du type 'System.OutOfMemoryException " s'est produite dans System.Drawing.dll informations Supplémentaires: de mémoire

J'ai une liste des "images" qui contient environ de 20 photos environ 1 mo chacune. Je veux faire défiler les images dans la liste en cliquant sur le bouton suivant. Mais après environ 8 photos que je reçois de mémoire.

    private void button4_Click(object sender, EventArgs e) //next
    {
        index++;
        if (index >= images.Count) index = 0;
        CurrImage = images[index]; 
        Bitmap b = new Bitmap((Bitmap)CurrImage.Clone()); //breakpoint occurs her
        pictureBox1.Image = b; 

        NewThread = new Thread(new ThreadStart(ChooseColors2));
    }

ChooseColors2 thread va utiliser "CurrImage" afin d'éviter des conditions de course, j'ai évité que par la création d'une nouvelle image, comme indiqué ci-dessus

Veuillez noter que, si j'utilise pictureBox1.Image = CurrImage; sans en créer de nouveaux bits de la carte je n'ai pas cette erreur, mais il sera en condition de course d'exception avec le fil.

OriginalL'auteur Basco | 2013-03-19