Мне интересно, существует ли существующий элемент управления или было бы просто разработать элемент управления, позволяющий постепенно загружать многостраничный TIFF по сети? Я работаю с некоторыми изображениями в формате tiff, которые содержат до тысяч страниц, и было бы здорово, чтобы изображение начало появляться, как только страница или страницы загружаются, и извлекать дополнительные страницы изображения только по мере необходимости, или загружать по запросу или при наличии полосы пропускания. Я понимаю, что изображение в формате TIFF имеет определенные структурные требования и окружающие метаданные, но ожидаю, что это должно быть возможно.
Управление изображением WPF для постепенной загрузки многостраничного TIFF
Ответы (2)
Я предлагаю вам начать использовать LibTiff или LibTiff.NET. С этого последнего легко начать, и у меня пока есть хороший опыт. Это позволит вам полностью контролировать порядок загрузки. Это в некоторой степени зависит от точного форматирования TIFF, который вы пытаетесь загрузить. Случайный доступ к страницам возможен всегда. Кроме того, это даст вам хороший контроль над использованием ресурсов памяти.
Предыдущий совет начать со спецификации — это рецепт кошмара. Существует так много различных интерпретаций TIFF (включая порядок байтов, зависящий от машины), что вы потратите много времени на реализацию и тестирование. LibTIFF является эталоном и имеет очень мягкую форму лицензии. Пожалуйста, проверьте мой вопрос в StackOverflow здесь
Я не думаю, что какой-либо язык имеет контроль над этим изначально. Я бы взял копию спецификации TIFF и написал собственное решение.
http://partners.adobe.com/public/developer/tiff/index.html
Однако вы можете попытаться адаптировать существующие элементы управления для просмотра TIFF:
http://www.codeproject.com/KB/miscctrl/Image_Viewer_Control.aspx; http://www.atalasoft.com/cs/forums/thread/11473.aspx
Однако я не могу ручаться за качество приведенного выше кода.