Почему размер изображения увеличивается после представления UIImagePNGR? - PullRequest
0 голосов
/ 31 августа 2018

У меня есть файл изображения в приложении для фотографий iphone.

Я взял его в свой MacBook, через airdrop и проверил размер изображения = 1,9 МБ

Я сохранил то же изображение в приложении «Файлы» на iphone и проверил размер изображения там = 1,9 МБ

Я взял одно и то же изображение в свое приложение через UIImagePickerController,

  • Использовано UIImagePNGRepresentation и напечатано количество данных / количество байтов = 15,8 МБ
  • Используется UIImageJPEGRepresentation с коэффициентами сжатия 1.0 и печатается количество данных / число байтов = 5,4 МБ
  • Использовал UIImagePNGRepresentation и сохранил его в локальном (DocumentsDirectory) и проверил размер файла = 15,8 МБ
  • Использовано UIImageJPEGRepresentation с обжатием 1.0 и сохранено в локальном (DocumentsDirectory) и проверено размер файла = 5,4 МБ

Теперь, мой вопрос таков: почему UIImagePNGRepresentation ИЛИ UIImageJPEGRepresentation увеличивает размер файла до такого большого размера? Я даже загрузил это изображение на свой сервер и, очевидно, получал изображения большего размера. Я хотел загрузить данное изображение на свой сервер с оригинальным качеством, но я не хочу, чтобы это изображение большого размера (поскольку его фактический размер на устройстве совершенно другой), есть ли другой способ, с помощью которого мы можем предотвратить исходный размер и качество изображения как?.

1 Ответ

0 голосов
/ 31 августа 2018

Давайте возьмем этот пример из сессии WWDC 2018 - 416_ios_memory_deep_dive. Если размер файла 590 КБ, размер изображения составляет 2048 пикселей x 1536 пикселей. Таким образом, общая память этого изображения составляет 10 МБ (2048 пикселей x 1536 пикселей x 4 байта на пиксель). Для получения дополнительной информации вы можете посмотреть это видео. https://developer.apple.com/videos/play/wwdc2018/416/

...