1
我试图按照从以下链接中的说明:SaveAdd扔“在GDI发生一般性错误+”
Merging two tiff image using c#.net
然而,当我到达SaveAdd方法我得到“A一般错误发生在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 =(位图)Image.FromFile(filePathA); bitmap2 =(位图)Image.FromFile(filePathB); – kickinchicken