gpt4 book ai didi

ios - 从 CGImageMetadata 转换为 nsdictionary

转载 作者:行者123 更新时间:2023-11-29 11:47:51 24 4
gpt4 key购买 nike

我尝试将我的 360° 元数据图像转换为 nsdictionary。每次我尝试打印属性值时应用程序崩溃。我写了这段代码

CGImageSourceRef source = CGImageSourceCreateWithData((__bridge CFDataRef)imageData, NULL); NSArray *metadataArray = nil;

if (source) {
_metaData = CGImageSourceCopyMetadataAtIndex(source, 0, NULL);
if (_metaData) {
metadataArray = CFBridgingRelease(CGImageMetadataCopyTags(_metaData));
CFRelease(_metaData);
}
CFRelease(source);
}

NSLog(@"%@",metadataArray[12]);//this is the problem

在输出中,我发现 immutableMetadata 的类型是 CGImageMetadata 而不是 NSdictionary。请问我如何转换为 nsdictionary?

最佳答案

swift

extension CGImageSource {

func metadata() -> Dictionary<String, Any>? {

guard let imageMetadata = CGImageSourceCopyMetadataAtIndex(self, 0, .none) else {
return .none
}

guard let tags = CGImageMetadataCopyTags(imageMetadata) else {
return .none
}

var result = [String: Any]()
for tag in tags as NSArray {
let tagMetadata = tag as! CGImageMetadataTag
if let cfName = CGImageMetadataTagCopyName(tagMetadata) {
let name = String(cfName)
let value = CGImageMetadataTagCopyValue(tagMetadata)
result[name] = value
}
}

return result
}
}

关于ios - 从 CGImageMetadata 转换为 nsdictionary,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42668330/

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