Все это были подсказки, которые помогли мне понять мою проблему, которая была той же самой, что и вопрос. Поэтому я хочу опубликовать свое решение, к которому я пришел из-за этих полезных подсказок. Спасибо за все подсказки, опубликованные до сих пор!
Как Time Saunders написал в своем ответе, что метод Write для фактической записи байтов в поток памяти необходим. Это была моя первая ошибка.
Тогда мои данные тоже были неверными данными TIFF, но в моем случае у меня был дополнительный символ 13 в начале данных моего изображения. Как только я удалил это, у меня все заработало нормально.
Когда я прочитал о некоторых основных спецификациях формата файла TIFF, я обнаружил, что файлы TIFF должны начинаться с II или MM (два байта со значениями 73 или 77). II означает порядок байтов с прямым порядком байтов («порядок байтов Intel»). MM означает большой конец («порядок байтов Motorola»). Следующие два байта представляют собой двухбайтовое целочисленное значение (= Int16 в .NET), равное 42, двоичное 101010.
Таким образом, правильный поток байтов в формате TIFF начинается с десятичных значений байтов: 73, 73, 42, 0 или 77, 77, 0, 42. Я призываю всех, у кого возникла такая же проблема, проверить ваш байт данных TIFF. поток и убедитесь, что ваши данные являются действительными данными TIFF!
Спасибо, Шнаппл и Тим Сондерс !!