[英]SaveAdd throwing “A generic error occurred in GDI+”
我正在尝试按照以下链接进行操作:
但是,当我进入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方法感到窒息。
有任何想法吗?
我使用的代码如下。 非常接近上面的内容,但我将所有内容都添加到了bitmap1中。
foreach( ImageCodecInfo codec in ImageCodecInfo.GetImageEncoders() ) {
if( codec.MimeType == "image/tiff" ) {
tiff = codec;
break;
}
}
System.Drawing.Imaging.Encoder encoder = System.Drawing.Imaging.Encoder.SaveFlag;
EncoderParameters parameters = new EncoderParameters( 1 );
parameters.Param[ 0 ] = new EncoderParameter( encoder, ( long ) EncoderValue.MultiFrame );
bitmap1.Save( newFileName, tiff, parameters );
parameters.Param[ 0 ] = new EncoderParameter( encoder, ( long ) EncoderValue.FrameDimensionPage );
bitmap1.SaveAdd( bitmap2, parameters );
bitmap1.Dispose();
bitmap2.Dispose();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.