Нужна функция C # для преобразования TIFF в оттенках серого в черно-белый (монохромный / 1BPP) TIFF
Мне нужна функция C #, которая будет принимать Byte [] 8-битного оттенка серого TIFF и возвращать Byte [] 1-битного (черно-белого) TIFF.
Я довольно новичок в работе с TIFF, но общая идея заключается в том, что нам нужно преобразовать их из градаций серого или цветного в черно-белый / монохромный / двоичный формат изображения.
Мы получаем изображения через WCF в виде байта [], затем нам нужно сделать это преобразование в черный & amp; белый, чтобы отправить их компоненту, который выполняет дальнейшую обработку. На данный момент мы не планируем сохранять их как файлы.
Для справки, в нашем тестовом клиенте мы создаем 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();
--------Обновить---------
Я думаю, что здесь может быть более 1 хорошего ответа, но мы закончили тем, что использовали код с сайта CodeProject со следующим методом, добавленным для перегрузки функции преобразования, чтобы принять Byte [], а также растровое изображение:
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();
}