gpt4 book ai didi

ios - 如何在 iOS 上实现 ALAsset 照片的可访问性

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:11:24 25 4
gpt4 key购买 nike

我写了一个基于 ALAssetsLibrary 的自定义图像选择器,一切正常但 VoiceOver,每张照片都只代表“按钮”,我认为这不太好。

所以我检查了 iOS 中内置的 Photo 应用程序,VoiceOver 为每张照片讲了以下信息:

  1. 照片视频截图等。
  2. 它是纵向横向
  3. 它的创建日期
  4. 清晰模糊
  5. 明亮黑暗

我想我可以从 ALAsset 的属性中得到前三个,也就是

  1. ALAssetPropertyType
  2. ALAssetPropertyOrientation
  3. ALAssetPropertyDate

但是清晰度亮度怎么样?我可以从图像元数据中获取它们或派生它们吗?

更新:

在照片的 EXIF 元数据中:

  1. 亮度适用于直接从相机拍摄的照片,但从网络保存或从屏幕捕获的照片始终返回零值。
  2. 锐度在exif中始终为零,从文档中,锐度值是“应用于图像的锐度”,所以我认为它被图像处理应用程序(如Aperture)使用

但是 Photos.app 对于任何类型的照片总是有正确的亮度和锐度值,我们可以自己做吗?

最佳答案

您可以使用 EXIF 元数据获取值。

Apple 文档 中引用了所有 key herehere

这里我写了一个例子:

NSDictionary *allMetadata = [[asset defaultRepresentation] metadata];

NSDictionary *exif = [allMetadata objectForKey:(NSString*)kCGImagePropertyExifDictionary];

然后得到清晰度亮度

NSNumber *sharpness = [exif objectForKey:(NSString*)kCGImagePropertyExifSharpness];
NSNumber *brightness = [exif objectForKey:(NSString*)kCGImagePropertyExifBrightnessValue];

关于ios - 如何在 iOS 上实现 ALAsset 照片的可访问性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18418938/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com