Как эффективно сжать фотографию для загрузки на iOS, например, в Instagram?

#ios #image #image-compression #uiimagejpegrepresentation

#iOS #изображение #сжатие изображения #uiimagejpegпредставление #представление uiimagejpeg

Вопрос:

Исходный размер этой фотографии составляет около 1,2 м (2248 * 3264), сделанный iPhone5S.

Кот

Я попытался использовать метод UIImageJPEGRepresentation and image.drawInRect для изменения размера (640 * 853) и сжатия фотографии для загрузки.

  • Представление uiimagejpeg 0.5 — 180KB
  • uiimagejpegпредставление 0.9 — 524 КБ
  • uiimagejpegпредставление 0.99 — 622 КБ

Размер файла по-прежнему слишком велик, а скорость загрузки для меня неприемлема. (Необходимо загрузить около 200 КБ данных). Я также использую расширение PHP GD, сжатое с качеством более 90%. Конечный размер UIImageJPEGRepresentation 0.5 для меня составляет (640 * 853) 100 КБ.

Моя фотография

Но я загрузил ту же фотографию в Instagram и загрузил ее с веб-сайта. Размер файла составляет всего (1080 * 1080) 86 КБ. И скорость их загрузки высока.

Фото в Инстграме

Если приложение Instagram загружает только данные размером 86 КБ на фото, скорость загрузки фотографий будет удовлетворительной.

Кажется, есть специальные способы уменьшить размер фотографии на iOS, а не просто использовать UIImageJPEGRepresentation . Есть ли какой-либо проект с открытым исходным кодом или какой-либо другой метод для оптимизации с его помощью?

Комментарии:

1. Прошу прощения, не могу придумать другого способа. Удаление ответа. Приветствия!

2. @angolao вы нашли хороший способ уменьшить размер изображения без ущерба для качества?

3. @MXV Мой способ — сжать изображение как webp на телефоне и преобразовать в JPG на сервере.