Я пытаюсь отобразить изображение в формате JPEG при загрузке, используя часть данных, аналогичную многим веб-браузерам, или приложение facebook.
есть низкокачественная версия изображения (только часть данных), а затем полное изображение отображается полностью.
это лучше всего показано в ВИДЕО ЗДЕСЬ
Я следил за этим вопросом SO:
Как отобразить прогрессивный JPEG в UIImageView во время его загрузки?
но все, что у меня было, - это изображение, которое визуализируется по мере того, как происходит сохранение данных, некачественная версия сперва, нет истинной прогрессивной загрузки и рендеринга.
может ли кто-нибудь поделиться фрагментом кода или указать мне, где я могу найти дополнительную информацию о том, как это можно реализовать в приложении iOS?
попробовал эту ссылку, например, которая показывает информацию о формате JPEG, она идентифицирует изображение как прогрессивное
и я использовал правильную последовательность кода
-(void)connection:(NSURLConnection*)connection didReceiveData:(NSData*)data
{
/// Append the data
[_dataTemp appendData:data];
/// Get the total bytes downloaded
const NSUInteger totalSize = [_dataTemp length];
/// Update the data source, we must pass ALL the data, not just the new bytes
CGImageSourceUpdateData(_imageSource, (CFDataRef)_dataTemp, (totalSize == _expectedSize) ? true : false);
/// We know the expected size of the image
if (_fullHeight > 0 && _fullWidth > 0)
{
[_imageView setImage:[UIImage imageWithCGImage:image]];
CGImageRelease(image);
}
}
но код показывает только изображение, когда он будет загружен, с другими изображениями он покажет его при загрузке, но только сверху вниз, не имеет версии низкого качества, а затем постепенно добавит детали в виде браузеров.