ibremn
2015-10-19 01:03:30 +08:00
progressive/interlaced 是只由模糊变清晰,这个需要图片本身处理过,网上这种图片比较少。
一般图片默认是 baseline 的,即逐行加载。
下面这段代码可以支持 baseline/progressive/interlaced JPEG/PNG/GIF :
CGImageSourceRef source = CGImageSourceCreateIncremental(NULL);
while (dataArrived) {
CGImageSourceUpdateData(source, (__bridge CFDataRef)data, false);
if (CGImageSourceGetCount(source) > 0) {
CGImageRef imageRef = CGImageSourceCreateImageAtIndex(source, 0, NULL);
UIImage *image = [UIImage imageWithCGImage:imageRef scale:screenScale];
/// display
}
}