3

単一の tiff ファイルを複数ページの tiff に結合するコードを作成します。ただし、出力には最後に空白のページが付いています。入力ファイルが白黒の場合、コードは正常に機能しますが、カラーの .tiff ファイルでは機能しません。たとえば、100 個のファイルを指定すると、入力出力として単一の tiff ファイルが 47 ページになり、残りは空白になります。

この機能を実現するために標準コードを使用します。以下は私のコードです。理由は誰でもわかりますか?

 using (FileStream fs = new FileStream(fileNameTemp, FileMode.Append, FileAccess.Write))
        {
            System.Windows.Media.Imaging.TiffBitmapEncoder tifEnc = new System.Windows.Media.Imaging.TiffBitmapEncoder();
            tifEnc.Compression = System.Windows.Media.Imaging.TiffCompressOption.Default;

            foreach (string fileName1 in filePaths)
            {
                Console.WriteLine("FileName:::" + fileName1);

                System.Windows.Media.Imaging.BitmapImage bmpImg = new System.Windows.Media.Imaging.BitmapImage();
                bmpImg.BeginInit();
                bmpImg.CacheOption = System.Windows.Media.Imaging.BitmapCacheOption.OnLoad;
                bmpImg.UriSource = new Uri(fileName1);
                bmpImg.EndInit();

                System.Windows.Media.Imaging.FormatConvertedBitmap fcb = new System.Windows.Media.Imaging.FormatConvertedBitmap(bmpImg,
                                                  System.Windows.Media.PixelFormats.Rgb24,
                                                  System.Windows.Media.Imaging.BitmapPalettes.Halftone27,
                                                  1.0);
                tifEnc.Frames.Add(System.Windows.Media.Imaging.BitmapFrame.Create(fcb));



            }

            tifEnc.Save(fs);
            fs.Dispose();


        }

前もって感謝します!

4

1 に答える 1