try
{
codec = (from _codec in ImageCodecInfo.GetImageEncoders() where _codec.MimeType.Equals("image/tiff", StringComparison.OrdinalIgnoreCase) select _codec).FirstOrDefault();
if (codec != default(ImageCodecInfo))
{
parameters = new EncoderParameters(2);
parameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (long)EncoderValue.CompressionCCITT4);
parameters.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.MultiFrame);
MyGlobals.countnum = 0;
foreach (Image image in images)
{
MyGlobals.countnum = MyGlobals.countnum + 1;
MyGlobals.sequencenum = MyGlobals.countnum.ToString("D8");
string filenamerev = MyGlobals.BASE_DIR + "C.C.CHKIMAGE.CHKIMAGE." + MyGlobals.sequencenum + "." + DateTime.Now.ToString("yyyyMMdd") + ".ard.out";
stream = new MemoryStream();
image.Save(stream, ImageFormat.Tiff);
tiff = Image.FromStream(stream);
tiff.Save(filenamerev, codec, parameters); <--- Line 62
}
parameters.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.Flush);
tiff.SaveAdd(parameters);
}
}
try
{
codec = (from _codec in ImageCodecInfo.GetImageEncoders() where _codec.MimeType.Equals("image/tiff", StringComparison.OrdinalIgnoreCase) select _codec).FirstOrDefault();
if (codec != default(ImageCodecInfo))
{
parameters = new EncoderParameters(2);
parameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (long)EncoderValue.CompressionCCITT4);
parameters.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.MultiFrame);
MyGlobals.countnum = 0;
foreach (Image image in images)
{
MyGlobals.countnum = MyGlobals.countnum + 1;
MyGlobals.sequencenum = MyGlobals.countnum.ToString("D8");
string filenamerev = MyGlobals.BASE_DIR + "C.C.CHKIMAGE.CHKIMAGE." + MyGlobals.sequencenum + "." + DateTime.Now.ToString("yyyyMMdd") + ".ard.out";
using (var mstream = new MemoryStream()) //To ensure Memory stream is present while save is done
{
image.Save(mstream , ImageFormat.Tiff);
using (var mytiff = Image.FromStream(mstream ))
{
mytiff .Save(filenamerev, codec, parameters);
}
}
}
parameters.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.Flush);
tiff.SaveAdd(parameters);
}
}
try
{
codec = (from _codec in ImageCodecInfo.GetImageEncoders() where _codec.MimeType.Equals("image/tiff", StringComparison.OrdinalIgnoreCase) select _codec).FirstOrDefault();
if (codec != default(ImageCodecInfo))
{
parameters = new EncoderParameters(2);
parameters.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Compression, (long)EncoderValue.CompressionCCITT4);
parameters.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.MultiFrame);
MyGlobals.countnum = 0;
foreach (Image image in images)
{
MyGlobals.countnum = MyGlobals.countnum + 1;
MyGlobals.sequencenum = MyGlobals.countnum.ToString("D8");
string filenamerev = MyGlobals.BASE_DIR + "C.C.CHKIMAGE.CHKIMAGE." + MyGlobals.sequencenum + "." + DateTime.Now.ToString("yyyyMMdd") + ".ard.out";
using (Bitmap bmp = new Bitmap(image))//Karrtik: To see if creating a new Bitmap from underlying image resolves the issues
{
using (var mstream = new MemoryStream()) //To ensure Memory stream is present while save is done
{
bmp.Save(mstream , ImageFormat.Tiff);
using (var mytiff = Image.FromStream(mstream ))
{
mytiff .Save(filenamerev, codec, parameters);
}
}
}
}
parameters.Param[1] = new EncoderParameter(System.Drawing.Imaging.Encoder.SaveFlag, (long)EncoderValue.Flush);
tiff.SaveAdd(parameters);
}
}