状況: アップロードの場合。画像がTheta SやGear 360のようなカメラから360°の画像である場合は、クライアント側のチェックが必要です。 これは、XMPメタデータを確認することでかなり簡単に行うことができます。NSDataからXMPメタデータを読み取る
ImageIOはXMPメタデータを無視するようですが、以下の例を実行すると、ImageIOが返すデータにはXMPエントリがありません。
スウィフト3:
import ImageIO
let url = URL(fileURLWithPath: filePath)
let imageData:Data = try! Data(contentsOf: url)
if let imageSource = CGImageSourceCreateWithData(imageData as CFData, nil),
let imageProperties = CGImageSourceCopyPropertiesAtIndex(imageSource, 0, nil) as? [AnyHashable:Any]
{
print(imageProperties) // no xmp metadata?
}
は、私は、画像のNSDataからXMP-XMLをsubstractできる方法はありますか?