[Из песочницы] Руководство для дизайнера по DPI
Это руководство — начальный материал о кросс-DPI и кроссплатформенном дизайне для начинающих и средних дизайнеров, желающих узнать о нем с самого начала или получить больше знаний. Без сложных математических и непонятных диаграмм, только непосредственные объяснения, упорядоченные в небольших разделах, для понимания и применения их непосредственно к вашей дизайнерской работе.
Автор — Sebastien Gabriel.
Я не знаю всего, так что, если по вашему мнению я где то ошибаюсь или вам нужно уточнить что-то, либо у вас есть предложения или вопросы для улучшения данного руководства, отправьте письмо (на англ) на sgabriel.contact@gmail.com. Вы также можете найти на меня Twitter, G+ или Facebook.
Что такое DPI и PPIDPI или (Dots Per Inch) «точек на дюйм» является мерой пространственной плотности точек, первоначально использовавшейся в печати. Это количество капель чернил, которое ваш принтер может вместить в один дюйм. Меньшее DPI дает менее детальное изображение.Эта концепция применяется к компьютерным экранам под названием PPI (пикселей на дюйм). Тот же принцип: подсчитывается количество пикселей, которые экран может отображать на дюйм. Название DPI также используется в экранах.
У компьютеров с Windows по умолчанию 96 PPI. Mac использует 72, хотя это значение не было точным с 80-х. Обычные, не retina ПК (Mac также) будут иметь от 72 PPI минимум до около 120 максимум. Проектирование с PPI между 72 и 120 обеспечит вашей работе везде примерно то же самое соотношение размеров.
Вот прикладной пример: экран Mac Cinema 27 дюймов имеет 109 PPI, что означает, что он отображает 109 пикселей на дюйм экрана. Ширина с рамкой является 25,7 дюймов (65 см). Ширина фактического экрана составляет примерно 23,5 дюйма, так 23,5×109 ~ 2560, что делает физическое разрешение экрана 2560×1440 px. *Я знаю, что 23,5×109 не равно точно 2560. Это на самом деле +23,486238532 дюймов. Было бы точнее пикселей на сантиметр, но вы меня поняли.

Влияние на ваш дизайн
Допустим, вы рисуете синий квадрат 109×109 px на экране, оговоренном выше. Этот квадрат будет иметь физический размер на экране 1×1 дюйм. Но если ваш пользователь имеет экран с 72 PPI, синий квадрат будет выглядеть физически больше, поскольку для 72 PPI экрану понадобится приблизительно полтора дюйма, чтобы отобразить ваш синий квадрат 109 px. Смотрите ниже моделирование эффекта.
Запомните: оставив в сторону разногласия цвета и разрешения, имейте в виду, что все будут видеть ваш дизайн по разному. Вы должны стремиться к наилучшему компромиссу и создавать для наибольшего процента пользователей. Не думайте, что у пользователь такой же экран, как у вас.
Разрешение экрана (и родное разрешение) Разрешение экрана может иметь огромное влияние на то, как пользователь воспринимает ваш дизайн. К счастью, так как ЖК-мониторы заменили ЭЛТ, теперь пользователи, как правило, имеют родные разрешения экрана с хорошим соотношением размер экрана к PPI.Разрешение определяет количество отображаемых на экране пикселей (например: 2560×1440 px для Cinema экрана 27 дюймов) 2560 ширина, 1440 высота. Теперь, конечно, когда вы знаете, что означает PPI, вы понимаете, что это не может быть единицей измерения физического размера. Вы можете иметь экран 2560×1440 размером с вашу стену и другой размером с вашу голову.
Современные ЖК-мониторы имеют разрешение, определенное по умолчанию, оно же родное, которое будет обрабатывать точное число пикселей, которое экран способен отображать. У старых ЭЛТ-мониторов немного по-другому, но так как их можно считать мертвыми, давайте не вдаваться в детали (и не затрагивать мое частичное понимание старых добрых телевизоров).
Возьмем наш 27 дюймовый Cinema экран, который может отображать 109 PPI в родном разрешении 2560×1440 px. Если уменьшить разрешение, элементы будут казаться больше. В конце концов, у вас только 23,5 горизонтальных дюйма для заполнения виртуально меньшим числом пикселей.

Я сказал виртуально, потому что в этом случае так и будет. Экран имеет родное разрешение 2560×1440 px. Если разрешение уменьшается, то пикселы все также отображаются в 109 PPI. Чтобы заполнить это пространство и весь экран, ваша ОС будет все растягивать, ваш GPU / CPU возьмет все пиксели и вычислит их с новым соотношением.
Если вы хотите сделать разрешение 1280×720 (половина ширины, половина высоты от предыдущего) на 27 дюймов, то вашему GPU, чтобы заполнить экран, придется имитировать вдвое увеличенный пиксель. Какой будет результат? Так вот — размытие. Пока деление на два отношения сторон будет выглядеть довольно хорошо, из-за простого делителя, но если вы захотите ⅓ или ¾ от отношения сторон, то у вас в итоге будут числа со знаками после запятой, и вы НЕ МОЖЕТЕ разделить пиксель. Смотрите пример ниже.

Примечание: слева: рендеринг окна OSX в родном разрешении (1400×900 px): справа рендеринг окна OSX в симулированном меньшем разрешении (1024×640 px retina).
Рассмотрим ниже другой пример. Возьмем линию в 1 пиксель на экране с родным разрешением. Теперь сделаем разрешение на 50% меньше. Для заполнения экрана CPU придется генерировать 150% изображения, умножая все на 1,5, 1×1,5 = 1,5, но вы не можете поделить пиксели вдвое. А будет следующее: он заполнит окружающие пиксели долей цвета (by a fraction of the color), создавая размытие.

Примечание: слева линия толщиной в 1 пиксель на любом разрешении по умолчанию, справа линия толщиной в 1 пиксель в меньшем на 150% разрешении.
Поэтому, если у вас есть Retina Macbook Pro и вы хотите изменить разрешение, он покажет окно ниже, давая вам знать (на скриншоте ниже) как это разрешение будет «выглядеть» 1280×800 px. Он использует опыт восприятия пользователем разрешения экрана, чтобы выразить отношение размеров.

Это очень субъективное представление, потому что он использует разрешение пикселя в качестве единицы физического размера, но это правда, по крайней мере, с их точки зрения.
Запомните: если вы хотите всегда видеть свой дизайн (или любой дизайн) пиксельно идеально, никогда не используйте для вашего экрана разрешение, отличное от родного. Да, вам может быть более удобно с меньшим соотношением, но когда дело доходит до пикселей, вам хочется быть как можно более точным. К сожалению, некоторые люди используют разрешение как способ, чтобы лучше видеть, что происходит на экране (особенно на рабочем столе), когда им следовало бы использовать настройки специальных возможностей. От этого ваш дизайн по-прежнему будет выглядеть плохо, но с этой точки зрения, пользователи ищут улучшения читаемости, а не блеска.
Что такое 4k Возможно, в последнее время вы много слышали о термине 4K (по крайней мере, когда я писал об этом, в начале 2014-го года), 4k довольно модная тема. Чтобы понять, что это такое, давайте сначала поймем, что означает «HD».Осторожно, это сильное упрощение. Я буду говорить только о наиболее распространенных разрешениях. Существует различные категории HD. Термин HD применимо к любым разрешениям, начиная с 1280×720 px или 720p для горизонтальных линий в 720 пикселей. Также некоторые могут называть это разрешение SD (standard definition; стандартное определение).
Термин Full HD применяется к экранам 1920×1080 px. Большинство телевизоров и телефонов высокого класса (Galaxy SIV, HTC One, Sony Xperia Z, Nexus5) использует это разрешение.
4K начинается с 3840×2160 пикселей. Его также называют Quad (четверной) HD и может называться UHD от Ultra (сверх) HD. Проще говоря, на экране 4K вы можете вложить 4 1080p, в понятии числа пикселей. Другое разрешение 4K — 4096×2160. Это немного больше и используется для проекторов и профессиональных камер.

Что произойдет, если я подключу 4K дисплей к компьютеру Современные ОС не масштабируют 4K, это означает, что если вы подключите дисплей 4K к Chromebook или MacBook, он будет использовать ресурсы с наибольшим DPI, в этом случае 200% или @ 2x (в два раза больше) и показывать их в обычном соотношении. От этого все будет выглядеть хорошо, но маленьким.Гипотетический пример: если вы подключите 12 дюймовый 4K экран к компьютеру с 12 дюймовым экраном высокого разрешения (2x), все будет выглядеть в два раза меньше.
Запомните:
4k — это 4 раза Full HD; Если используемая ОС работает с 4K, но не масштабирует его, это означает, что в 4K еще нет определенных графических ресурсов; На сегодняшний день ни один телефон или планшет не использует 4K. Герцы монитора Здесь мы немного отдохнем от PPI и разрешения экрана. Возможно, вы видели, что возле настроек разрешения для экрана есть значение Гц монитора. Оно не имеет ничего общего с PPI, но на всякий случай, если вам интересно, Герц монитора — или частота обновления — это единица скорости, с которой ваш монитор будет отображать фиксированное изображение или кадр за секунду времени. Монитор с 60 Гц сможет отображать 60 кадров в секунду. Монитор 120 Гц — 120 кадров в секунду и т.д. В контексте интерфейса пользователя значение Герц (Гц) будет определять, насколько гладкой и детализированной будет выглядеть ваша анимация. Большинство экранов работают на 60 Гц. Обратите внимание, что количество кадров, отображаемых в секунду, также зависит от вычислительной и графической мощности устройства. Подключение экрана 120 Гц к Atari 2600 будет совершенно бесполезным.
Для лучшего понимания взгляните на пример ниже. T-Rex идет из точки А в точку B с одинаково равным и быстром и шагом на 60 Гц и 120 Гц экране. Экран с частотой 60 кадров в секунду способен отображать 9 кадров во время анимации, в то время как с 120 кадров в секунду отображает в том же отрезке времени логически вдвое больше кадров. Анимация будет выглядеть более гладко на экране 120 Гц.

Запомните: Некоторые люди могут сказать, что человеческий глаз не может увидеть более 60 кадров в секунду. Это неправильно. Не слушайте и уходите, смеясь истерическим хохотом.
Что такое дисплей retina Apple представила термин дисплей «Retina » для выпуска смартфонов iPhone 4. Он называется Retina (в переводе сетчатка) потому, что PPI устройства была настолько высоко, что вероятно, сетчатка человека не смогла бы увидеть отдельные пиксели на экране.Это утверждение верно для размеров экрана диапазона устройства, в которых оно используется, но в то время как экраны становятся все лучше и лучше, наши глаза сейчас обучены достаточно для восприятия пикселей — особенно для округлых элементов пользовательского интерфейса.
Технически они отображают в два раза больше пикселей по высоте и ширине в том же физическом размере.
IPhone 3G / S был с диагональю 3,5 дюйма и разрешением 480×320 px и 163PPI.iPhone 4 / S был с диагональю 3,5 дюйма и разрешением 960×640 px и 326ppi.

БУМ! Ровно в два раза. Простой множитель. Поэтому элементы на экране вместо того, чтобы быть меньше, выглядят вдвойне визуально резче, потому что они имеют в два раза больше пикселей и точно таких же физических размеров. Один нормальный пиксель равен 4 пикселям retina.
Рассмотрим пример ниже для прямого применения в сложном дизайне.

Примечание к изображению: трудно имитировать различное качество изображения с двух устройств на третье устройство, то есть то, на которое вы смотрите на прямо сейчас. Качество изображения будет выглядеть в два раза лучше и резче для музыкального плеера на retina, даже занимая то же физическое пространство, Если вы хотите проверить его сами, я использовал одну из моих бесплатных программ, вы можете загрузить исходный код.
Термин дисплей «Retina» принадлежит Apple, поэтому другие компании будут использовать «HI-DPI» или » Super power pixel maximum sp33d display » (я собираюсь зарегистрировать последнюю марку) или вообще ничего из этого. Вам останется, читая характеристики устройства, выяснить, какой же DPI и размер экрана (как весело).
Запомните: продукты Apple, являются отличным способом познакомиться с преобразования DPI и понять различия между разрешением, PPI и соотношением физического размера, потому что вам надо беспокоиться только о 1 множителе.
Что такое множитель Когда дело дойдет до преобразования вашего дизайна для всех возможных PPI, множитель будет вашим математическим спасителем. Если вы знаете множитель, вам больше не придется заботиться о детальных характеристиках устройства.Давайте возьмем наш пример с iPhone 3G и 4. У вас есть в два раза больше пикселей в том же физическом размере. Поэтому ваш множитель 2. Это означает, чтобы сделать ваши графические ресурсы совместимыми с разрешением 4G, вы просто должны умножить размер своих графических ресурсов на 2 — и все.
Допустим, вы создаете кнопку 44×44 px, которая является рекомендованной iOS сенсорной целью (я буду говорить об этом позже). Давайте назовем его типичным названием кнопки «JIM».
Чтобы хорошо сделать JIM на iPhone 4, вам надо создать его версию увеличенную вдвое. Что мы и делаем ниже.

Примечание: слева — 2 px закругленные углы 16 px размер шрифта, справа 4 px закругленные углы 32 px размер шрифта.
Довольно просто. Теперь JIM имеет версию Jim.png для нормального PPI (IPhone 3) и версию Jim@2x.png для 200% PPI (iPhone 4).
Теперь вы спросите: «Но подождите! Я уверен, что есть и другие множители кроме всего двух. Да, есть, и вот здесь это становится кошмаром. Хорошо, может быть, не кошмаром, но я уверен, что вы предпочли бы провести день, гладя ваши носки, чем справляться с множеством множителей. К счастью, это не так страшно, как вы думаете, мы вернемся к этому позже.
Давайте сначала поговорим о единицах измерения, потому что теперь вам нужна будет единица измерени, отличная от пикселя — для описания ваших мульти DPI дизайнов. Вот когда приходит время DP и PT.
Запомните: для каждого дизайна над которым вы работаете нужно знать множитель. Множители, держат вместе этот мир хаоса размеров экранов и PPI и делают его понятным для человека.
Что такое DP, PT и SP DP или PT является единицей измерения, используемой для создания описания к вашим макетам, созданных для множества устройств и DPI.DP или DiP расшифровывается как Device independent Pixel (пиксель независимый от устройства) и PT как Point (точка). PT используют Apple; DP используют в Android, однако по существу — они одинаковы. Короче говоря, они определяют размер независимо от множителя устройства. Это очень помогает при обсуждении тех. заданий между такими различными субъектами, как дизайнер и инженер.Давайте возьмем наш предыдущий пример кнопки, «JIM».Джим имеет ширину 44 px для обычных, не retina экранов, и ширину 88 px для retina экранов. Перейдем к техническим подробностям и добавим отступы (padding) вокруг Джима на 20 px, потому что он любит свободное пространство. Тогда отступ будет 40 px для retina. Но на самом деле не имеет смысла учитывать retina пиксели при проектировании на не retina экране.
Мы поступим следующим образом: возьмем за основу 100% соотношение сторон обычного не retina экрана.

В этом случае JIM будет иметь размер 44×44DP или PT и отступы 20DP или PT. Вы можете отдавать свое тех. задание в любом PPI, JIM по прежнему будет 44×44dp или pt.
Android и IOS адаптируют этот размер к экрану и конвертируют с правильным множителем. Вот почему я думаю, что легче всегда проектировать с PPI по умолчанию для вашего экрана.
SP используется отдельно от DP и PT, но работает так же. SP расшифровывается Scale-independent pixels (масштабно независимый пиксель) и используется для определения размеров шрифта. SP зависит от настроек шрифтов пользователей Android устройств. Для дизайнера определение SP такое же, как определение DP для всего остального. Возьмите за основу то, что читаемо при 1х масштабе (16SP, например, это отличный размер шрифта для чтения).
Запомните: когда составляете тех. задание, всегда используйте значения независимые от разрешения / масштаба. Всегда. Чем больше отличается размер экрана / разрешение, тем это более существенно.
Настройка PPI Теперь, когда вы знаете, что такое PPI, retina и множитель, важно сказать, о чем меня совсем мало спрашивали, и это сбивает с толку: «Что произойдет, если изменить конфигурацию PPI в моем графическом редакторе? «Если вы задали себе этот вопрос, это означает, что вы немного знакомы с графическими редакторами. Теперь очень важно понять то, на что мне потребовалось некоторое время: Для всего, что не для печати, используются размеры в пикселях, независимо от начальной конфигурации PPI.
Настройки PPI в программах являются наследием печатного дела. Если вы проектируете только для интернета, PPI не будет иметь никакого влияния на размер вашего растрового изображения. Вот почему мы используем множители, а не конкретные значения PPI. Ваш холст и графика всегда будут преобразованы в пиксели с помощью программного обеспечения, используя соответствующий множитель.
Вот, например. Вы сами можете это попробовать в программе, которая позволяет настроить PPI, например, Photoshop. Я нарисовал квадрат 80×80 px и текст с размером 16pt в Photoshop с конфигурацией 72ppi. Второе то же самое с конфигурацией 144PPI.


Как вы видите, текст стал довольно большим, точнее в два раза больше, в то время как квадрат остался тем же. Причиной этого является то, что программа (Photoshop в данном случае) масштабирует (как и должна) значения pt на основе значения PPI, в результате удваивая размер рендеринга текста на настройках удвоенного PPI. С другой стороны, то, что было определено с помощью пикселей — синий квадрат — остается точно таково же размера. Пиксель — это пиксель и останется пикселем независимо от настроек PPI. Они отличаются друг от друга только PPI экрана, который их отображает.
Важно помнить, что при проектировании для цифровой техники PPI будет влиять только на то, как вы воспринимаете свой дизайн и на ваш рабочий процесс и на графику в pt размерах, такую как шрифт. Если вы включите в свою работу исходные файлы с различными настройками PPI, программа изменит размеры любого переданного изображения между различными файлами отношением PPI принимающего файла. Это станет для вас проблемой.
Решение? Используйте PPI (для 1x дизайна предпочтительно в диапазоне 72–120) и придерживайтесь его. Я лично использую 72 ppi, потому что это настройка по умолчанию в Photoshop, и большинство моих коллег делают то же самое.
Запомните:
настройки PPI не влияют на экспорт для интернет. настройки PPI будут только влиять на графику созданную на основе PPI-независимых измерениях, таких как PT Пиксель единица измерения для всего цифрового. Держите в уме множители и то что вы разрабатывайте, а не PPI. Используйте реалистичные настройки PPI при проектировании для цифровой техники, которые дают вам ощущение того, как это будет выглядеть на целевых устройствах (например 72–120ppi для 1x интернет сайтов/ настольных компьютеров). Придерживайтесь одинаковых настроек PPI для всех ваших файлов. Дополнительно можно прочесть об в этом в интереснейшем посте на StackExchange . Обработка PPI в iOS Пришло время для погружения в платформенно-зависимый дизайн. Давайте пройдемся по устройствам с IOS на начало 2014 года. Касательно размеров экрана и DPI, c iOS есть 2 типа мобильных устройств и 2 типа экранов для ноутбуков / настольных компьютеров. В категории мобильных у них, конечно, есть iPhone и iPad.В категории телефонов у вас есть старый 3GS (еще поддерживается iOS6) и выше. Только iPhone 3GS не с retina. iPhone 5 и выше используют более высокий экран с тем же DPI, как у iPhone 4 и 4s. Смотрите шпаргалку ниже:

Примечание: 1) множитель 1х, 2) множитель 2х, 3) множитель 2х.
В сентябре 2014-го Apple представила 2 новые категории iPhone: iPhone 6 и iPhone 6 Plus. iPhone 6 больше, чем iPhone 5 (на 0.7 дюйма), но с тем же PPI. С другой стороны, iPhone 6 представляет совершенно новый множитель для iOS, @3x из-за своего размера, 5.5 дюймов.

Есть кое-что особенное, что вам надо знать о том, как iPhone 6 Plus обрабатывает свой дисплей относительно всех остальных iPhone.
Он уменьшает размер изображений.
Например, когда вы проектируете для iPhone 6, вы проектируете на холсте 1334×750 px и телефон также рендерит 1334×750 физических пикселей. В случае iPhone 6 Plus у телефона разрешение меньше, чем рендеринг изображения, так что вам надо проектировать для разрешения 2208×1242 px и телефон уменьшит размер до разрешения 1920×1080 px. Смотрите рисунок ниже:

Физическое разрешение на 13% ниже, чем отрендеренное разрешение. Это создает пару глюков, таких как полу-пиксели, делая очень мелкие детали размытыми. Хотя разрешение так велико, что это будет незаметно, только если вы будете смотреть очень близко. Так что проектируйте на холсте 2208×1242 px и будьте осторожны с очень маленькими элементами дизайна, такими как супер разделители. Смотрите ниже симуляцию того, что происходит:

Спасибо Paintcode за замечательное объяснение этого, сразу после основного доклада. Сморите их веб страницу. Это объяснение исходит из их классных схем.
Затем у вас есть категория iPod Touch. Рассматривайте дизайн для них так же как, для iPhone. iPod 4-го поколения и ниже использует iOS6 и не retina. iPod пятого поколения и выше использует retina экраны и совместим с iOS7. Соответственно, у iPod пятого поколения размер экрана такой же, как у iPhone 5.
Наконец у вас есть iPad. За исключением iPad (устаревших) первого поколения все они работают на iOS7, и только iPad2 и IPad mini первого поколения используют не-retina экран. Если вам интересно, каков iPad mini с точки зрения дизайна, это обычный iPad (экран с тем же PPI), но физически меньше. Под этим я подразумеваю, что они взяли такое же разрешение и уменьшили его с 9.7 дюймов до 7.9 дюймов. С тем же соотношением сторон, следовательно, увеличивая плотность пикселей. Ваши графические ресурсы будут выглядеть немного меньше.


Что касается категории настольный ПК/ноутбук, мы не будем рассматривать все размеры экранов, предлагаемых Apple. На сегодняшний день компания Apple предлагает большинство своих экранах с множителем 1x (Macbook, Macbook Air, старых MacBook Pro, настольных экранах.). Retina есть только в 13 и 15 дюймовых MacBook Pro. Множитель 2x, такой же, как в iPad и iPhone. Даже если проектирование для настольных ПК отличается от мобильных устройств, вы будете создавать графические ресурсы таким же образом для работы на 2 различных типов экранов.
При наличии только одного множителя, создание графических ресурсов для iOS и OSX довольно простое. Я предлагаю начать проектирование для базового PPI (т.е. 100% / 1x) и затем умножать на 2 для работы вашего дизайна на @ 2x экране и генерируйте @ 2x графические ресурсы. Когда вы освоитесь с переключением между 1х и 2х, вы будете в состоянии проектировать непосредственно в @ 2x, масштабируя свои графические ресурсы для более низкого разрешения. Это будет особенно полезно, если вы разрабатываете на экране retina (MacBook Pro).
Необходимые графические ресурсы, пример Chrome
Как вы видите, каждый раз мы должны создавать по два изображения на 1 графический ресурс. Не retina изображения называются name.png. Для retina изображений мы добавляем @ 2x, чтобы стало name@2x.png. Это конвенция iOS и ее надо придерживаться.
Если вы создаете изображение, которое будет использоваться только на iPad, мы используем ~ipad после. @ 2x. Это всего лишь конвенция Chrome. Повторите этот процесс для каждого нужного вам графического ресурса. Никогда отдавайте только одну версию графического ресурса, создавайте для всех DPI.
Запомните правила для IOS: — @ 2x графический ресурс всегда должен быть увеличенным вдвое 1x графическим ресурсом.— Добавьте @ 2x для retina ресурсов.— Всегда создавайте 100% и 200% изображения.— Всегда используйте одинаковое имя для 1х и 2х графических ресурсов.— Начните проектирование в 100%, затем умножайте.— Отдавайте .png изображения.— Составляйте тех. задание в pt, а не пикселях.
Использование PPI на Android У платформы Android более широкий спектр устройств, чем у iOS. Причина в том, что любой производитель может создать устройство и с некоторыми ограничениями в понятиях масштаба и установить на него свою собственную версию Android. В результате у вас практически неограниченное разнообразие размеров экранов и DPI, от телефонов, больших, как планшеты, до небольших планшетов, маленьких, как телефоны. По этой причине ваш дизайн всегда должен быть адаптивным.В этом разделе мы будем использовать другой подход, чем для IOS. Сначала поговорим о множителях и категориях DPI.Как и с iOS, у вас есть две категории устройств: телефоны и планшеты. Обе категории могут быть организованы в различных DPI категориях: ldpi, mdpi, tvdpi, hdpi, xhdpi, xxhdpi и xxxhdpi.
К счастью, одни из них используются чаще, чем другие, а некоторые уже устарели.Первое, что мы должны сделать, это найти базовую единицу измерения, которая является эквивалентом 1х для IOS. На Android — это MDPI.Давайте взглянем на множители в шпаргалке ниже.

Да, это много, и это еще не конец. Существует еще один.

Эффективно используются четыре DPI: MDPI, HDPI, XHDPI и XXHDPI. LDPI — это устаревшее DPI и больше не используется, TVDPI — это особый вариант для интерфейса пользователя в телевизорах и одноразово был использован для Nexus 7 выпуска 2012 г. Их можно считать не обязательными для использования в телефонах и планшетах. Хотя, есть примечание: множитель TVDPI (1.33x) используется в некоторых носимых устройствах Android, таких как часы LG G, но мы поговорим об этом чуть позже.
Давайте совместим все в перспективе, связывая Android телефоны и планшеты с их соответствующим DPI.






В настоящее время должно быть одно устройство, использующее XXXHDPI для фактических графических ресурсов приложений, но они все еще очень редки. Если у вас есть дополнительное время, генерация XXXHDPI графических ресурсов создаст задел на будущее вашему приложению.
Необходимые графические ресурсы, пример Chrome Вам нужно создать по 4 изображения для 1-го графического ресурса, от MDPI в XXHDPI. LDPI можно не трогать. Обратите внимание, что в случае версии Chrome, показанной ниже, был также экспортирован TVDPI, поэтому в данном конкретном случае 5 изображений для 1-го графического ресурса. Как и для iOS, я предлагаю вам взять 100% или множитель 1x в качестве основы для вашего дизайна. Это облегчает подготовку вашего дизайна для остальных множителей, особенно на Android — с такими множителями, как 1,33 и 1,5.Смотрите ниже пример кнопки назад браузера Chrome на Android:

Именование с добавлением DPI, предложенное здесь, не обязательно и не представлено в официальных руководствах Android. В связи с ограничением текущих средств проектирования так мы называем наши графические ресурсы из-за ограничений текущих инструментов дизайна, которые осложняют определение конкретных путей для экспорта графических ресурсов.
Учитывая, что источник графических ресурсов может иногда содержать сотни графических ресурсов, поскольку менее болезненно делать процесс экспорта и избегать ошибок дублирования имен со стороны дизайнера. В исходном хранилище графические ресурсы структурированы следующим образом:
— drawable-mdpi/asset.png— drawable-hdpi/asset.png— и т.д. …
Как вы видите, графический ресурс основан на квадрате в 32×32dp. Проблема Android множителей в том, что некоторые из них со знаками после запятой. Если умножить число на 1,33 или 1,5, скорее всего вы в конечном итоге получите число со знаками после запятой. В этом случае вы хотите округлить число в нужную сторону, так как вы думаете, что имеет смысл. В приведенном случае 32×1,33 = 42,56, поэтому мы округляем его до 43 px.
Будьте осторожны с элементами пиксельных размеров, таких как штрихи. Вам нужно убедиться, что ваш штрих либо 1 px шириной, или 2 px по ширине и не размыт, так как описано в разделе разрешение экрана.
Запомните правила Android:
Android имеет 7 различных DPI, вам нужно беспокоиться о 4: mdpi, hdpi, xhdpi, xxhdpi плюс XXXHDPI, если вы хотите сделать заготовку на будущее своего приложения. MDPI является базовым DPI или вашим множителем 1x Android использует dp вместо pt для спецификации, но они одинаковы Округляйте в подходящую для вас сторону для множителей с цифрами после запятой. Отдавайте работу в .png изображениях. Обговорите конвенцию именования и процесс экспорта с человеком, ответственным за реализацию. PPI Mac и Chrome OS В понятиях обработки PPI Mac (OSX) и Chrome OS ведут себя одинаково. Обе ОС поддерживают обычное PPI (100%) и PPI высокого разрешения / retina (200%). Есть только 2x множитель также как для Iphone и iPad.Даже если большинство ваших пользователей, как Mac, так и Chrome OS, будут с небольшим разрешением экрана (на данный момент), я очень рекомендую подготовить на будущее ваши приложения для экранов высокого разрешения. Заготовка на будущее для ChromeOS означает создание графических ресурсов с высоким разрешением для веб-приложения или веб-сайта, это никогда не будет зря потраченным временем.
В настоящее время существует в общей сложности 3 ноутбука, использующих этот PPI, MacBook Pro 13 », 15» и Chromebook Pixel. Кроме этого, Chromebook Pixel с сенсорным экраном.

Необходимые графические ресурсы, пример Chrome
Прекрасным примером этого сходства был бы графический ресурс кнопки панели инструментов Chrome. Мы используем одни и те же графические ресурсы на обоих платформах. Хотя код отличается, визуально различий нет. Смотрите ниже пример кнопки меню Chrome.
Запомните:
Chrome OS и OSX используют тот же множитель, 2 сенсорные только дисплеи высокого разрешения Chrome OS .Растягиваемые графические ресурсы Независимо от того, для десктопов или мобильных устройств ваше приложение, почти всегда нужны растягивающиеся графические ресурсы. Растягиваемый графический ресурс так устроен, что код сможет его увеличивать до нужных размеров без ухудшения рендеринга. Они отличаются от повторяемых графических ресурсов, которые работают по-другому, даже когда иногда отображают один и тот же результат.Смотрите ниже пример Chrome. Панель инструментов на iOS генерируется с использованием только одного супер тонкого графического ресурса, который повторяется на оси Х во весь экран.

В данный момент нам это не подойдёт, давайте посмотрим, как различные платформы справляются с растягиваемыми графическими ресурсами.
Растягиваемые графические ресурсы на iOS
IOS позволяет дизайнеру это легко сделать, так как растяжение определяется в коде в отличии от нарезки кусков графических ресурсов или маркировки. Все, что вам нужно сделать, это предоставить базовое изображение, и если не вы его создаете — опишите этот графический ресурс как растягиваемый по горизонтали, вертикали или в обе стороны. Смотрите пример ниже, который является на iOS Chrome кнопкой по умолчанию для контента.
Растягиваемые графические ресурсы на Android У Android, в отличие от iOS, другой способ создания растягивающихся графических ресурсов. Он больше полагается на дизайнера. Для этой платформы вы будете использовать направляющие 9-patch. Эти направляющие состоят из 4 линий, окружающих сам графический ресурс. Они должны быть предоставлены кусками / изображениями, как будто они является частью самого изображения, буквально визуально отображая в нем его характеристики. Они определяют две вещи: масштабируемую область и область заливки. После того, как они определены, код сможет только протянуть то, что вы определили и вставить контент — туда, куда вы его определили.Смотрите пример ниже кнопки по умолчанию для Android версии Chrome, показанной ранее. В целях демонстрации я сделал ее больше.

Как вы можете видеть, 9-патч представляет собой набор из 4 чистых черных (# 000000) полосок. Они должны иметь ширину 1 px для любого DPI; это индикация для кода. Растягиваемая площадь не включает в себя закругленные углы, потому что это нельзя повторить (или это будет выглядеть ужасно.) В этом случае, мы добавили 10dp отступы для кнопки. Это не придётся включать в спецификацию. Индикаторы .9 нужно также заложить и 100% прозрачную часть нарезки графического ресурса.
