Necesita la función C # para convertir TIFF en escala de grises a blanco y negro (monocromo / 1BPP) TIFF

Necesito una función C # que tome un Byte [] de un TIFF en escala de grises de 8 bits, y devuelva un Byte [] de un TIFF de 1 bit (blanco y negro).

Soy bastante nuevo para trabajar con TIFF, pero la idea general es que necesitamos convertirlos de escala de grises o color a formato de imagen en blanco y negro / monocromo / binario.

Recibimos las imágenes a través de un WCF como un byte [], luego necesitamos hacer esta conversión a blanco y negro para enviarlas a un componente que realice un procesamiento adicional. No planeamos en este punto guardarlos como archivos.

Para referencia, en nuestro cliente de prueba, así es como creamos el 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();

--------actualizar---------

Creo que puede haber más de 1 buena respuesta aquí, pero terminamos usando el código del sitio de CodeProject con el siguiente método agregado para sobrecargar la función de conversión para aceptar Byte [] y mapa de bits:

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();
    }

Respuestas a la pregunta(7)

Su respuesta a la pregunta