iOS: каковы разные PHAssetResources в PHAsset?

Что касается моего образования, я хотел бы понять ресурсы, содержащиеся в PHAsset.

Установка

Мое тестовое устройство - iPhone 7 с iOS 13.7. Фотографии синхронизируются с iCloud. Хранилище iCloud было заполнено какое-то время, что я проигнорировал, потому что это тестовое устройство.

PHAsset

В качестве конкретного примера рассмотрим самую старую фотографию на моем тестовом устройстве. Это живая фотография. Имеет 5 ресурсов ()

  • тип = настройка, uti = com.apple.property-list, имя файла = Adjustments.plist
  • type = video_cmpl, uti = com.apple.quicktime-movie, filename=IMG_0005.MOV, size=980x1308
  • type=video_cmpl_full, uti=com.apple.quicktime-movie, filename=FullSizeRender.mov, size=308x370
  • type=photo, uti=public.heic, filename=IMG_0005.HEIC, size=3024x4032
  • type=photo_full, uti=public.jpeg, filename=FullSizeRender.jpg, size=863x1036

Документация Apple

Вот что Apple говорит о ресурсах в PHAsset https://developer.apple.com/documentation/photokit/phassetresource.

  • Фоторесурс может содержать файлы JPEG и RAW, представляющие одну и ту же фотографию.
  • Ресурс Live Photo содержит как фото, так и видео ресурсы.
  • Отредактированный актив содержит ресурсы, представляющие содержимое актива до и после редактирования, а также ресурс, соответствующий объекту PHAdjustmentData, который описывает редактирование.

Глядя на мой пример PHAsset, документация не объясняет:

В: Зачем мне нужны именно эти ресурсы?

Ресурс HEIC должен быть исходным неподвижным изображением. Я говорю это, потому что HEIC - это собственный формат хранения, и потому что размер 3024x4032 совпадает с разрешением камеры.

Какие еще 4 ресурса и почему у меня есть именно эти ресурсы?

Кроме того, поскольку это Live Photo, я бы ожидал увидеть ресурс для оригинального фильма. Один из двух ресурсов фильмов с низким разрешением - это оригинальный фильм?

За исключением 3024x4032 для изображения HEIC (которое соответствует разрешению камеры iPhone 7), я не могу понять никаких размеров. Откуда берутся 980x1308, 308x370, 863x1036?

Если хранилище iPhone заполнено, но в iCloud все еще есть место (это противоположность моей ситуации), iOS должна хранить на устройстве только фотографии более низкого качества и загружать исходные фотографии из iCloud по мере необходимости. Как это влияет на PHAssetResource сборник для PHAsset?

0 ответов

Другие вопросы по тегам