Управление изображением WPF для постепенной загрузки многостраничного TIFF

Мне интересно, существует ли существующий элемент управления или было бы просто разработать элемент управления, позволяющий постепенно загружать многостраничный TIFF по сети? Я работаю с некоторыми изображениями в формате tiff, которые содержат до тысяч страниц, и было бы здорово, чтобы изображение начало появляться, как только страница или страницы загружаются, и извлекать дополнительные страницы изображения только по мере необходимости, или загружать по запросу или при наличии полосы пропускания. Я понимаю, что изображение в формате TIFF имеет определенные структурные требования и окружающие метаданные, но ожидаю, что это должно быть возможно.


person hitch    schedule 05.01.2010    source источник


Ответы (2)


Я предлагаю вам начать использовать LibTiff или LibTiff.NET. С этого последнего легко начать, и у меня пока есть хороший опыт. Это позволит вам полностью контролировать порядок загрузки. Это в некоторой степени зависит от точного форматирования TIFF, который вы пытаетесь загрузить. Случайный доступ к страницам возможен всегда. Кроме того, это даст вам хороший контроль над использованием ресурсов памяти.

Предыдущий совет начать со спецификации — это рецепт кошмара. Существует так много различных интерпретаций TIFF (включая порядок байтов, зависящий от машины), что вы потратите много времени на реализацию и тестирование. LibTIFF является эталоном и имеет очень мягкую форму лицензии. Пожалуйста, проверьте мой вопрос в StackOverflow здесь

person Adriaan    schedule 25.01.2010

Я не думаю, что какой-либо язык имеет контроль над этим изначально. Я бы взял копию спецификации 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

Однако я не могу ручаться за качество приведенного выше кода.

person ta.speot.is    schedule 05.01.2010
comment
Привет -- я из Atalasoft. Наши продукты могут быть адаптированы для этого. Вы не можете легко отправить части TIFF, но вы можете разбить TIFF на части (1-страничные TIFF) и отправить их по запросу. Мы будем рады помочь вам заставить его работать с нашим продуктом — просто обратитесь в службу поддержки (atalasoft.com/support) - person Lou Franco; 05.01.2010