Конвертируйте фотографию HEIF в JPEG для загрузки в бэкэнд
Я поддерживаю приложение для загрузки фотографий с iPhone в бэкэнд-сервис. В настоящее время этот сервис не поддерживает новый формат HEIF, поэтому есть ли способ, чтобы платформа Photoshop конвертировала данные фотографий в формат JPEG?
Я использую PHImageManager.requestImageData(для:options:resultHandler:), чтобы извлечь объект данных из изображения, которое я затем загружаю в REST API.
1 ответ
Решение
(новое решение, предыдущее не сохранило информацию EXIF)
Чтобы получить изображение в виде фотографии JPEG, с информацией EXIF, создайте объект CIImage из данных изображения HEIF и используйте CIContext.jpegRepresentation (of: для получения изображения в формате jpeg в качестве объекта данных
let imageManager = PHImageManager.default()
var photo : PHAsset
var options : PHImageRequestOptions
imageManager.requestImageData(for: photo, options: options, resultHandler: {
imageData,dataUTI,orientation,info in
let ciImage = CIImage(data: imageData!)
if #available(iOS 10.0, *) {
data = CIContext().jpegRepresentation(of: ciImage!, colorSpace: CGColorSpaceCreateDeviceRGB())!
// upload image data
}