Я успешно сохранил изображение в Photo Library
с помощью API Photo Framework после того, как пользователь выбрал это изображение из библиотеки с помощью UIImagePickerController
.
Поскольку я захватываю изображение внутри своего приложения, я должен позаботиться о метаданных. Я мог сохранить местоположение и дату создания во вновь захваченном изображении и сохранить его в библиотеке.
Но проблема в том, что я хочу прикрепить массу других свойств, я имею в виду, что я хочу прикрепить свойства EXIF
и TIFF
.
В EXIF
есть много таких свойств,
kCGImagePropertyExifDateTimeOriginal
kCGImagePropertyExifMaxApertureValue
kCGImagePropertyExifSpatialFrequencyResponse
kCGImagePropertyExifLensModel
Как мне получить эти значения с текущего устройства, прикрепить их к изображению и сохранить в Photo Library
?
Вот полный код, который я использую для сохранения изображения в Photo Library
после того, как взял его из UIImagePickerController
. Я хотел бы добавить строки метаданных где-нибудь в эту функцию, прежде чем сохранять ее в Photo Library
.
//MARK: Saving an Image to PhotoLibrary and taking back the PHAsset
class func savingThis(image : UIImage, completion : (asset : PHAsset?) -> ())
{
var localIdentifier : String?
let imageManager = PHPhotoLibrary.sharedPhotoLibrary()
imageManager.performChanges({ () -> Void in
let request = PHAssetChangeRequest.creationRequestForAssetFromImage(image)
request.location = LocationManager.sharedInstance.locationManager.location
request.creationDate = NSDate()
// Add more properties here - somewhere EXIF, TIFF....
if let properAsset = request.placeholderForCreatedAsset {
localIdentifier = properAsset.localIdentifier
}
else {
completion(asset: nil)
}
}, completionHandler: { (success, error) -> Void in
if let properLocalIdentifier = localIdentifier {
let result = PHAsset.fetchAssetsWithLocalIdentifiers([properLocalIdentifier], options: nil)
if result.count > 0 {
completion(asset: result[0] as? PHAsset)
}
else {
completion(asset: nil)
}
}
else {
completion(asset: nil)
}
})
}
Это глупый вопрос? Мне не нужно использовать Photos Framework, если есть другой способ прикрепить метаданные, каким бы ни был способ, я просто хочу прикрепить их. Я не знаю. Дайте мне знать ваши предложения?
kCGImagePropertyExifMaxApertureValue
где я могу найти значение для этого?. Не могли бы вы дать мне больше информации об этомNSData
? - person   schedule 29.08.2016Author
,CopyRight
.. и т. д. Это строковые значения, которые я могу ввести в словарь. Я говорю о таких ценностяхkCGImagePropertyExifMaxApertureValue
? Где вы найдете значение для этого? или этоkCGImagePropertyExifLensModel
. - person   schedule 29.08.2016