我在调用这个函数的时候发现碰到JPG压缩的TIF文件就出错,其他tif文件就正常,如何解决啊?
/// <summary>
/// This function will output the image to a TIFF file with specific compression format
/// </summary>
/// <param name="outPutDirectory">The splited images' directory</param>
/// <param name="format">The codec for compressing</param>
/// <returns>splited file name array list</returns> public ArrayList SplitTiffImage(string outPutDirectory, EncoderValue format)
{
string fileStartString = outPutDirectory + "\\" + GetFileNameStartString(_ImageFileName);
ArrayList splitedFileNames = new ArrayList();
try
{
Guid objGuid = image.FrameDimensionsList[0];
FrameDimension objDimension = new FrameDimension(objGuid); //Saves every frame as a separate file.
Encoder enc = Encoder.Compression;
int curFrame = 0;
for (int i = 0; i < _PageNumber; i++)
{
image.SelectActiveFrame(objDimension, curFrame);
EncoderParameters ep = new EncoderParameters(1);
ep.Param[0] = new EncoderParameter(enc, (long)format);
ImageCodecInfo info = GetEncoderInfo("image/tiff");
//Save the master bitmap
string fileName = string.Format("{0}{1}.TIF", fileStartString, i.ToString());
image.Save(fileName, info, ep);
splitedFileNames.Add(fileName); curFrame++;
}
}
catch (Exception)
{
throw;
} return splitedFileNames;
}
/// <summary>
/// This function will output the image to a TIFF file with specific compression format
/// </summary>
/// <param name="outPutDirectory">The splited images' directory</param>
/// <param name="format">The codec for compressing</param>
/// <returns>splited file name array list</returns> public ArrayList SplitTiffImage(string outPutDirectory, EncoderValue format)
{
string fileStartString = outPutDirectory + "\\" + GetFileNameStartString(_ImageFileName);
ArrayList splitedFileNames = new ArrayList();
try
{
Guid objGuid = image.FrameDimensionsList[0];
FrameDimension objDimension = new FrameDimension(objGuid); //Saves every frame as a separate file.
Encoder enc = Encoder.Compression;
int curFrame = 0;
for (int i = 0; i < _PageNumber; i++)
{
image.SelectActiveFrame(objDimension, curFrame);
EncoderParameters ep = new EncoderParameters(1);
ep.Param[0] = new EncoderParameter(enc, (long)format);
ImageCodecInfo info = GetEncoderInfo("image/tiff");
//Save the master bitmap
string fileName = string.Format("{0}{1}.TIF", fileStartString, i.ToString());
image.Save(fileName, info, ep);
splitedFileNames.Add(fileName); curFrame++;
}
}
catch (Exception)
{
throw;
} return splitedFileNames;
}
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货