我需要在Objective-C中确定是否需要下载并显示的图像是渐进式JPEG。我做了一些搜索,但没有找到任何明显的方法。你能帮我吗?如何确定一幅图像是否是逐行JPEG(隔行扫描)Objective-C
0
A
回答
2
2
在做了一些更多的研究之后,我发现了一些关于它可以在iOS中完成的更多信息。
继我在Technical Q&A QA1654 - Accessing image properties with ImageIO看我做了这样的:
//Example of progressive JPEG
NSString *imageUrlStr = @"http://cetus.sakura.ne.jp/softlab/software/spibench/pic_22p.jpg";
CFURLRef url = (__bridge CFURLRef)[NSURL URLWithString:imageUrlStr];
CGImageSourceRef myImageSource = CGImageSourceCreateWithURL(url, NULL);
CFDictionaryRef imagePropertiesDictionary = CGImageSourceCopyPropertiesAtIndex(myImageSource,0, NULL);
的imagePropertiesDictionary字典看起来像这样的渐进式JPEG:
Printing description of imagePropertiesDictionary:
{
ColorModel = RGB;
Depth = 8;
PixelHeight = 1280;
PixelWidth = 1024;
"{JFIF}" = {
DensityUnit = 0;
IsProgressive = 1;
JFIFVersion = (
1,
0,
1
);
XDensity = 1;
YDensity = 1;
};
}
IsProgressive = 1意味着它是一个渐进/隔行JPEG。你可以检查这样的值:
CFDictionaryRef JFIFDictionary = (CFDictionaryRef)CFDictionaryGetValue(imagePropertiesDictionary, kCGImagePropertyJFIFDictionary);
CFBooleanRef isProgressive = (CFBooleanRef)CFDictionaryGetValue(JFIFDictionary, kCGImagePropertyJFIFIsProgressive);
if(isProgressive == kCFBooleanTrue)
NSLog(@"It's a progressive JPEG");
相关问题
- 1. 防止逐行扫描(逐行)加载背景图像
- 2. 如何在Python中对图像进行隔行扫描?
- 3. 逐行扫描字符串
- 4. 如何确定JPEG图像是否已被重新压缩?
- 5. 如何确定Tpicture是否包含Jpeg?
- 6. 如何确定是否扫描.pdf文件的内容
- 7. 确定mdworker(Spotlight)是否已完成第一次扫描
- 8. 在AppleScript中逐行扫描文件?
- 9. 如何确定一个url是否是一个图像?
- 10. 如何使用CarrierWave生成视网膜(iPad)友好(渐进或隔行扫描)jpeg图像?
- 11. 如何逐个对表中的数组数据进行逐行扫描
- 12. 如何确定URL是否为图像?
- 13. 全表扫描是否读取所有列(对于每一行)?
- 14. Java扫描仪 - 如何检查密码输入是否正确?
- 15. 如何确定ListView行是否集中?
- 16. 隔行扫描视频与IJKPlayer
- 17. postgres如何决定是使用索引扫描还是seq扫描?
- 18. 扫描一枚硬币,然后从图像中确定日期
- 19. 如何像扫描图像一样调整彩色图像
- 20. 所有浏览器是否都支持逐行图像显示?
- 21. CBCentralManager:如何确定哪个外设是管理器扫描
- 22. 我如何使用字符串#扫描来扫描多行仅用回车符分隔的行,而不是一个新行
- 23. 确定行是否在一个DataGridView
- 24. 如何确定是否已在MongoDB中完成完整集合扫描
- 25. 如何确定当前选中的行是否是gtk.TreeView中的最后一行?
- 26. 如何检查变量是否存在,在一次扫描中是否为真?
- 27. 是否有可能在另一幅图像中为图像创建“定位点”?
- 28. Erlang:如何配置qlc:q是否执行全表扫描,关键字前缀扫描或密钥查找?
- 29. 扫描图像像素
- 30. 从Android设备认证扫描仪获取指纹JPEG图像