我正在尝试按照以下链接中的说明进行操作:
但是,当我使用 SaveAdd 方法时,我收到“GDI+ 中发生一般错误”
上面链接中的解决方案确实显示了 bitmap1、bitmap2 或 newFileName 是如何初始化的,所以我认为它与此有关,但我不确定......
这是我的代码:
string filePathA = "C:\\Users\\me\\Documents\\Projects\\TestTifMerge\\Samples\\00000516.tif";
string filePathB = "C:\\Users\\me\\Documents\\Projects\\TestTifMerge\\Samples\\11164_6018188.tif";
string newFileName = "C:\\Users\\me\\Documents\\Projects\\TestTifMerge\\Samples\\combined.tif";
Bitmap bitmap1;
Bitmap bitmap2;
bitmap1 = (Bitmap) Image.FromFile( filePathA );
bitmap2 = (Bitmap) Image.FromFile( filePathB );
ImageCodecInfo tiff = null;
foreach( ImageCodecInfo codec in ImageCodecInfo.GetImageEncoders() ) {
if( codec.MimeType == "image/tiff" ) {
tiff = codec;
break;
}
}
Encoder encoder = Encoder.SaveFlag;
EncoderParameters parameters = new EncoderParameters( 1 );
parameters.Param[ 0 ] = new EncoderParameter( encoder, ( long ) EncoderValue.MultiFrame );
bitmap1.Save( newFileName, tiff, parameters );
//Bitmap bitmapTemp = new Bitmap( bitmap1 );
parameters.Param[ 0 ] = new EncoderParameter( encoder, ( long ) EncoderValue.FrameDimensionPage );
bitmap2.SaveAdd( parameters );
如您所见,我使用的代码与链接中建议的解决方案几乎相同。该代码似乎通过了 Save 方法,但在 SaveAdd 方法上阻塞了。
有任何想法吗?