Separation of multipage tiff with compression "CCITT T.6" very slow
- by Alex
I need to separate multiframe tiff files, and use the following method:
public static Image[] GetFrames(Image sourceImage)
{
Guid objGuid = sourceImage.FrameDimensionsList[0];
FrameDimension objDimension = new FrameDimension(objGuid);
int frameCount = sourceImage.GetFrameCount(objDimension);
Image[] images = new Image[frameCount];
for (int i = 0; i < frameCount; i++)
{
MemoryStream ms = new MemoryStream();
sourceImage.SelectActiveFrame(objDimension, i);
sourceImage.Save(ms, ImageFormat.Tiff);
images[i] = Image.FromStream(ms);
}
return images;
}
It works fine, but if the source image was encoded using the CCITT T.6 compression, separating a 20-frame-file takes up to 15 seconds on my 2,5ghz CPU.(edit: One core is at 100% during the process)
When saving the images afterward to a single file using standard compression (LZW), the separation time of the LZW-file is under 1 second.
Saving with CCITT compression also takes very long.
Is there a way to speed up the process?