Чи має обмежений розмір файлу зображення мобільний Safari?


5

Я розробляю веб-сайт, який за своєю природою містить дуже великі зображення. Під час тестування на iPad я помічаю, що жодне зображення на сторінці розміром більше 2 Мб не відображається, а лише показує страшний синій колір? замість цього. Єдиною причиною, про яку я можу подумати, є те, що існує якийсь вбудований ліміт розміру ресурсів.

Я спробував Google, але, однак, не було жодного опублікованого обмеження, і єдині знайдені звіти згадують про 6,5 Мб ..., але я трохи нижче цього.

Чи є у когось конкретні джерела, які вказують, чи існує ця межа, і яка вона може бути?


Для всіх, хто шукає цю інформацію: Розмір файлу не має значення, оскільки в пам'яті зображення має бути декомпресоване - будь-які обмеження базуються на розмірах пікселів (ширина х висота в пікселях). "6 МП" (мегапікселі) відрізняється від "6 МБ" (мегабайт).
ToolmakerSteve

Відповіді:


10

Ця офіційна стаття, що ви шукаєте. Як очікується, немає обмеження розміру файлу, відповідь є складнішим і залежить від використовуваного алгоритму пам'яті пристрою та стиснення зображення:

  • Максимальний розмір декодованих зображень GIF, PNG та TIFF - 3 мегапікселі для пристроїв, що мають менше 256 Мб оперативної пам’яті, та 5 мегапікселів для пристроїв, що мають більше або більше 256 Мб оперативної пам’яті. Тобто переконайтесь, що ширина * висота ≤ 3 * 1024 * 1024 для пристроїв, що мають менше 256 Мб оперативної пам’яті. Зауважте, що декодований розмір набагато більше, ніж закодований розмір зображення.

  • Максимальний розмір декодованого зображення для JPEG - 32 мегапікселі за допомогою підпрограми. Зображення JPEG можуть бути до 32 мегапікселів через підсистему, що дозволяє JPEG-зображенням розшифровувати розмір, який має одну шістнадцяту кількість пікселів. Зображення JPEG, розмірами яких перевищують 2 мегапікселі, є підрозділеними, тобто декодуються до зменшеного розміру. Підсимуляція JPEG дозволяє користувачеві переглядати зображення з останніх цифрових камер.

  • Максимальний розмір елемента "полотно" - 3 мегапікселі для пристроїв, що мають менше 256 МБ оперативної пам’яті, і 5 мегапікселів для пристроїв, що мають більше або рівне 256 Мб оперативної пам’яті.


Вау, ви цілком заслуговуєте значка некроманта за цю відповідь, моє питання майже рік :) Дякую!
Адріан Петреску

1
Зараз це неправильно навіть для старого iPhone4 в тренажері, і для старого iPad Air, і, мабуть, для інших. Спробуйте - навіть величезний png фон 5760x3600 пікселів (20 мегапікселів) з’являється на iOS.
NoBugs

@NoBugs - який демонструє, що ви не повинні довіряти результатам емулятора та тестувати на фактичних пристроях, особливо якщо потрібно підтримувати більш старі пристрої. Але так, новіші пристрої, iPhone 6 та 7, обробляють більші зображення - 16 мегапікселів згадувалося в одному коментарі в інших місцях - і це робить емулятор зараз. Було б цікаво дізнатися, чи може iPhone 6 обробляти цей фон 20 Мп.
ToolmakerSteve

@ToolmakerSteve Я думаю, що я протестував великі зображення на тестуванні ipad, який був старше 3 років ... Ви насправді протестували на iPhone і знайшли розмір зображення, який він би не показував?
NoBugs
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.