PDA

View Full Version : [C#] Errore su immagini non accessibili...


arcer
15-07-2010, 21:42
salve nell'amito di sviluppo di un progetto sono inceppato in un problemino:


//inizializzazione immagine source
sourceImage = boxSourceImage.Image.Clone() as Bitmap;
//inizializzazione immagine evo
evoImage = new Bitmap(sourceImage.Width, sourceImage.Height, sourceImage.PixelFormat);
//inizializzazione Pennello
g = Graphics.FromImage(evoImage);
//riempimento immagine con nero
g.DrawRectangle(new Pen(Color.Black), 0, 0, evoImage.Width, evoImage.Height);
boxEvoImage.Image = evoImage;
//primo calcolo della fitness
currentFitness = Utils.FitnessCalc(sourceImage, evoImage);


public static double FitnessCalc(Bitmap source, Bitmap evo)
{
double fitness = 0;
for (int x=0;x<source.Width;x++)
for (int y = 0; y < source.Height; y++)
{

Color cSource = source.GetPixel(x,y);
Color cEvo = evo.GetPixel(x,y);
MessageBox.Show("ciao");
double deltaRed = cSource.R - cEvo.R;
double deltaBlue = cSource.B - cEvo.B;
double deltaGreen = cSource.G - cEvo.G;
fitness += (deltaRed * deltaRed + deltaBlue * deltaBlue + deltaGreen * deltaGreen);
}
return fitness;
}
mi dice che l'oggetto è correntemente utilizzato altrove quando viene eseguita la mia funzione FitnessCalc nel punto in cui eseguo la getPixel sull'immagine evo (che semplicemente tramite delle getPixel mi fa dei semplici calcoli punto per punto sull'immagine)

è come se evo resta "occupata" ma non capisco perchè..