Как Телеграм хранит фотографии?
Из каждой загружаемой фотографии Телеграм делает 4 копии разного разрешения. Для горизонтальных фотографий за основу берется ширина, а для вертикальных — высота. То есть уменьшение идет по длинной стороне кадра.
-
90px (для горизонтального кадра с пропорциями 4:3 — 90×67px)
- 320px (для горизонтального кадра с пропорциями 4:3 — 320×240px)
- 800px (для горизонтального кадра с пропорциями 4:3 — 800×600px)
- 1280px (для горизонтального кадра с пропорциями 4:3 — 1280×960px)
Казалось бы вопрос исчерпан — делайте фотографии 1280px по длинной стороне и всё, но не тут-то было. В документации написано, что сохранять надо с качеством 0.87 — то есть 87%, Это же круто, скажете вы, но на самом деле все немного по другому. Откинем документацию и сравним вручную.
В поисках правильного сжатия
Методика поиска, что называется «в лоб». Мы знаем какой размер после обработки Телеграмом будет у фотографии, мы можем ее скачать и мы можем ее сравнить с оригиналом. Сравнение очень простое: наложим скачанный вариант на загруженный в Фотошопе в режиме вычитания Difference. В этом режиме все пиксели, которые не соответствуют будут нам видный. При абсолютном совпадении — будет черный экран. Для того, чтобы лучше рассматривать разницу сверху накинем осветляжщую кривую.
Тест 1. Загружаем стандартно (для меня) уменьшенную до 2000px по длинной стороне фотографию.
Скачиваем результат.
- Оригинал: 2,4 Мб
- Версия телеграм 1280px: 158 Кб
Накладываем одно на другое и ожидаемо видим кучу не совпадающих пикселей. Разница между вариантами большая (кто бы сомневался)
Тест 2. Загружаем уменьшенную до 1280px по длинной стороне фотографию с качеством 100%
Скачиваем результат.
- Оригинал: 1 Мб
- Версия телеграм 1280px: 164 Кб
Тут уже разница меньше, но она есть. Да и по размеру видно.
Тест 3. Загружаем уменьшенную до 1280px по длинной стороне фотографию с качеством 87% (рекомендованное в документации качество)
Скачиваем результат.
- Оригинал: 550 Кб
- Версия телеграм 1280px: 166 Кб
Тут тоже уже по размеру файла видно, что разница будет
Тест 4. Чтобы не перебирать значения, делаем в Фотошопе «Export As…» — там мы можем видеть прогназируемый размер фотографии после сохранения. Внезапно, чтобы добиться веса 160-170кб надо выставить качество 50% (!)
Скачиваем результат.
- Оригинал: 173 Кб
- Версия телеграм 1280px: 168 Кб
Смотрим: разница минимальная.
Давайте еще раз посмотрим все вместе (листайте): 100%, 87% и 50%
Какие выводы можно сделать?
- Не хотите заморачиваться — не заморачивайтесь. Фото в Телеграм так же как и в Инстаграм (тем более в таких размерах) не более чем для ознакомления. Кому интересно пройдут на сайт или фото-хостинг посмотреть в качестве (вы ведь ими пользуетесь, надеюсь? :)
- Хотите максимального качества? Сохраняйте фотографию в 1280px по длинной стороне с качеством 50%
Возможно у вас есть еще какие выводы — пишите в комментариях или в Телеграм чат :)