2016-05-12 9 views
1

Я пытаюсь открыть массив байтов изображения с помощью метода Tiff.ClientOpen следующим образом:BitMiracle Tiff.ClientOpen() терпит неудачу

using (MemoryStream ms = new MemoryStream(img)) 
{ 
    using (Tiff input = Tiff.ClientOpen("InMemory", "r", ms, new TiffStream())) 
    { 

    } 
} 

Где IMG = байт [].

Но внутри моего второго «использования» input = null. Я на 100% уверен, что у img есть данные, и, пройдя процесс отладки, он даже работал несколько раз.

Кто-нибудь испытал это?

+0

Проверьте вывод консоли на сообщения и ошибки. Это должно дать вам понять, почему библиотека не может открыть ваши байты изображения. – Bobrovsky

ответ

0

Похоже, проблема связана с форматом tiff, который я читаю в потоке памяти. Используя библиотеку для создания размолвки, как показано на примере здесь:

https://bitmiracle.github.io/libtiff.net/?topic=html/e4f25423-eede-4ef6-a920-9cb539d056c6.htm

затем передавая результат того, что в поток памяти, после чего затем ClientOpen() работает. Не знаю, почему. Это когда вы хотите, чтобы BitMiracle обеспечивала поддержку;).

Смежные вопросы