如何在iOS上实现照片集的可访问性
我基于如何在iOS上实现照片集的可访问性,ios,accessibility,exif,alassetslibrary,voiceover,Ios,Accessibility,Exif,Alassetslibrary,Voiceover,我基于ALAssetsLibrary编写了一个自定义图像选择器,一切正常,但VoiceOver,每张照片都只表示为“按钮”,我认为这不好 因此,我检查了内置于iOS的Photo应用程序,VoiceOver为每张照片提供了以下信息: 它是照片或视频或截图等 它是纵向或横向 它的创建日期 它是尖锐的或模糊的 它是明的或暗的 我想我可以从ALAsset的属性中得到前三个,即 ALAssetPropertyType ALAssetPropertyOrientation ALAssetPropertyDa
ALAssetsLibrary
编写了一个自定义图像选择器,一切正常,但VoiceOver
,每张照片都只表示为“按钮”,我认为这不好
因此,我检查了内置于iOS的Photo
应用程序,VoiceOver
为每张照片提供了以下信息:
照片
或视频
或截图
等纵向
或横向
创建日期
ALAsset
的属性中得到前三个,即
ALAssetPropertyType
ALAssetPropertyOrientation
ALAssetPropertyDate
但是,
Photos.app
对于任何类型的照片都有正确的亮度和锐度值,我们自己可以这样做吗?您可以使用EXIF
元数据获取值
所有键都在苹果的文档中引用
这里我写了一个例子:
NSDictionary *allMetadata = [[asset defaultRepresentation] metadata];
NSDictionary *exif = [allMetadata objectForKey:(NSString*)kCGImagePropertyExifDictionary];
然后获得锐度
和亮度
NSNumber *sharpness = [exif objectForKey:(NSString*)kCGImagePropertyExifSharpness];
NSNumber *brightness = [exif objectForKey:(NSString*)kCGImagePropertyExifBrightnessValue];
我发现了两个问题,1。直接从相机拍摄的照片具有亮度,但从网络保存或从屏幕捕获的照片始终返回零值。2.在exif中锐度始终为零,从文档中可以看出,锐度值是“应用于图像的锐度”,因此我认为它是由图像处理应用程序(如光圈)使用的?这两个问题不会出现在Photos.app中,请不要忘记添加
#import