Параллельный цикл в TiffBitmapDecoder - PullRequest
0 голосов
/ 20 ноября 2011

Я пытаюсь использовать параллельный цикл в TiffBitmapDecoder, но я получаю сообщение об ошибке при сохранении Encoder в файл: «Вызывающий поток не может получить доступ к этому объекту, потому что другой поток владеет им»

Мой код очень прост:

TiffBitmapDecoder decoder = 
    new TiffBitmapDecoder(srcImage, 
        BitmapCreateOptions.PreservePixelFormat, 
        BitmapCacheOption.OnLoad);

Parallel.ForEach(decoder.Frames.AsParallel(), 
    (srcFarme, state, i) => 
    {
        BitmapFrame desFrame = (BitmapFrame)srcFarme;

        using (var des = 
            new FileStream(@"c:\" + "Result" + i.ToString() + ".jpg",
                FileMode.Create, FileAccess.Write))
        {
            JpegBitmapEncoder encoder = new JpegBitmapEncoder();
            encoder.Frames.Add(desFrame);
            encoder.Save(des);
        }
    } );

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...