Я пытаюсь использовать параллельный цикл в 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);
}
} );
Спасибо