2013-04-25 2 views
3

Я знаю, что ImageIO поддерживает инкрементный рендеринг изображений, но я не уверен, поддерживает ли он предоставление прогрессивных JPEG-файлов, в частности, я бы хотел быстро отображать изображение с низкой точностью, поскольку оно загружается, и в конечном итоге приходят к резкому изображению.Поддерживает ли iOS (ImageIO/etc.) Поддержку прогрессивных JPEG-файлов?

Я пробовал примеры проектов, которые используют инкрементный рендеринг ImageIO, но при указании на прогрессивный JPEG-файл они не отображают изображение до тех пор, пока все данные не будут загружены.

+1

возможно дубликат http://stackoverflow.com/ вопросы/4741486/how-do-i-display-a-progressive-jpeg-in-an-uiimaveview-while-it-is-being-download – Mar0ux

+0

также [SDWebImage] (https://github.com/rs/ SDWebImage /) также поддерживает прогрессивную загрузку. – Mar0ux

+0

Спасибо, что работает, хотя он и выводит предупреждения с консоли: : ImageIO: JPEG Коррумпированные данные JPEG: преждевременный конец сегмента данных. Возможно, второй пример, о котором вы говорили, где ImageIO используется напрямую, позволяет избежать предупреждений. –

ответ

1

Существует в настоящее время небольшой открытым исходным кодом библиотеки поверх libjpeg-турбо, которая позволяет декодировать и отображать прогрессивные JPEGs легко:

let imageView = CCBufferedImageView(frame: ...) 
if let url = NSURL(string: "http://example.com/yolo.jpg") { 
    imageView.load(url) 
} 

см https://github.com/contentful-labs/Concorde