5

我有一个imagePickerController用于将照片从库中导入我的应用程序。

在 中ALAssetsLibraryAssetForURLResultBlock,我试图找出我在块中获得的 ALAsset 是作为屏幕截图拍摄的照片,还是由相机拍摄的“真实”照片。

我试图浏览 ALAsset 的元数据字典,但找不到任何可能适合的标志/指示。

有人有想法么?

4

3 回答 3

3

对于屏幕截图,它的 UTI 总是一个“public.png”并且与屏幕大小相同(确保您在屏幕边界宽度和高度上乘以 [UIScreen scale]),只需检查这两个元数据,您就可以轻松识别屏幕截图。

于 2014-01-03T06:59:34.107 回答
0

MetaData添加到UIImage同时保存到 Photo Library。UIImage 的相同元数据可用于了解其是否截图。

请参阅Save_Photo_to_Album_with_Metadata

于 2012-10-18T12:00:14.023 回答
0

好吧,我正在研究和试验.. 我找到的最接近的解决方案是基于 iPhone 屏幕截图不会产生 EXIF 记录(而所有其他生成的照片都会生成它们)的事实。

因此,一旦在选择器中选择了一张照片,我就会检查照片的元数据是否包含 EXIF 记录,如果不包含 - 我断定照片是屏幕截图。

我发现它是目前“尽可能好”的解决方案,尽管它不是官方解决方案。

干杯。

于 2012-10-18T13:54:13.293 回答