Funkcja Need C # do konwersji TIFF w skali szarości na czarno-biały (monochromatyczny / 1BPP) TIFF

Potrzebuję funkcji C #, która zajmie bajt [] 8-bitowego TIFF w skali szarości i zwróci bajt [] 1-bitowego (czarno-białego) TIFF.

Jestem dość nowy w pracy z TIFF-ami, ale ogólna idea polega na tym, że musimy przekonwertować je z formatu szarości lub koloru na czarno-biały / monochromatyczny / binarny.

Otrzymujemy obrazy za pośrednictwem WCF jako Bajt [], następnie musimy dokonać konwersji na czarno-białe, aby wysłać je do komponentu, który wykonuje dalsze przetwarzanie. W tym momencie nie planujemy zapisywać ich jako plików.

Dla odniesienia w naszym kliencie testowym tak właśnie tworzymy Byte []:

        FileStream fs = new FileStream("test1.tif", FileMode.Open, FileAccess.Read);
        this.image = new byte[fs.Length];
        fs.Read(this.image, 0, System.Convert.ToInt32(fs.Length));
        fs.Close();

--------aktualizacja---------

Myślę, że może tu być więcej niż jedna dobra odpowiedź, ale skończyło się na tym, że użyliśmy kodu ze strony CodeProject, dodając następującą metodę w celu przeciążenia funkcji konwersji, aby zaakceptować Byte [] i bitmapę:

public static Byte[] ConvertToBitonal(Byte[] original)
    {
        Bitmap bm = new Bitmap(new System.IO.MemoryStream(original, false));
        bm = ConvertToBitonal(bm);
        System.IO.MemoryStream s = new System.IO.MemoryStream();
        bm.Save(s, System.Drawing.Imaging.ImageFormat.Tiff);
        return s.ToArray();
    }

questionAnswers(7)

yourAnswerToTheQuestion