Нарезка графики для разработчиков: проблемы ресайза...

89
Нарезка графики для разработчиков: проблемы ресайза

Transcript of Нарезка графики для разработчиков: проблемы ресайза...

Page 1: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Нарезка графики для разработчиков: проблемы ресайза

Page 2: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Павел Скрипкин

Ведущий UX/UI дизайнер, My.Com / Mail.Ru

@skrpknЕвгений Беляев

Android-дизайнер и интегратор дизайна, Avito.ru

@30PP0

Page 3: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

www.resonator.cc @resonator_cc

Page 4: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

0.

Введение в нарезку

Page 5: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Спецификация дизайна

1. Нарезка графических ресурсов

2. Гайдлайны для размеров элементов и отступов

Page 6: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Спецификация дизайна

1. Нарезка графических ресурсов

2. Гайдлайны для размеров элементов и отступов

Page 7: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Проблемы нарезки

1. Ресайз графики под различные плотности экрана

2. Передача ресурсов разработчикам

3. Хранение и поиск исходников графики

Page 8: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Проблемы нарезки

1. Ресайз графики под различные плотности экрана

2. Передача ресурсов разработчикам

3. Хранение и поиск исходников графики

Page 9: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Name Density Scale Factor

LDPI ≈120 100–140 0.75x

MDPI ≈160 140–200 1x

TVDPI ≈213 1.33x

HDPI ≈240 200–280 1.5x

XHDPI ≈320 280–400 2x

XXHDPI ≈480 400–560 3x

XXXHDPI ≈640 560–720 4x

Плотности Android

Page 10: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Name Density Scale Factor

non-Retina @1x 163 1x

Retina @2x 326 2x

Retina HD @3x 489 3x

Плотности iOS

Page 11: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Плотности Windows for Phones и Web

Name Scale Factor

WVGA 1x

WXGA 1.6x

720p 1.5x

1080p 2.25x

Name Scale Factor

non-Retina @1x 1x

Retina @2x 2x

Page 12: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Плотности Android vs. iOS

MDPI ≈160 140–200 1x

HDPI ≈240 200–280 1.5x

XHDPI ≈320 280–400 2x

XXHDPI ≈480 400–560 3x

XXXHDPI ≈640 560–720 4x

non-Retina 163 1x

Retina 326 2x

Retina HD 489 3x

Page 13: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

iOS – частный случай Android

Page 14: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Экран Nexus 5

Размер 4.95”

Разрешение 1920x1080 px

Плотность 445 dpi

Категория плотности XXHDPI

Коэффициент ресайза 3x

Page 15: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Часть I.

Проблемы ресайза графики из XXHDPI

Page 16: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

1.1

Выявление проблем ресайза графики из XXHDPI в теории

Page 17: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Name Scale Factor

LDPI 3/4x 75%

MDPI 1x 100%

HDPI 1 1/2x 150%

XHDPI 2x 200%

XXHDPI 3x 300%

XXXHDPI 4x 400%

Плотности Android

Page 18: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Name Scale Factor

LDPI 3/4x 75%

MDPI 1x 100%

HDPI 1 1/2x 150%

XHDPI 2x 200%

XXHDPI 3x 300%

XXXHDPI 4x 400%

Плотности Android

Page 19: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Name Scale Factor

LDPI 1/4x 25%

MDPI 1/3x 33.33333%

HDPI 1/2x 50%

XHDPI 2/3x 66.66667%

XXHDPI 1x 100%

XXXHDPI 1 1/3x 133.33333%

Плотности Android

Page 20: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Выводы из теории ресайза из XXHDPI

Чтобы минимизировать проблемы при ресайзе из XXHDPI, параметры графики (размер, толщина и т.д.) должны быть кратны 6 px.

Page 21: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

72x72 px

LDPI 18

MDPI 24

HDPI 36

XHDPI 48

XXHDPI 72

XXXHDPI 96

Пример

Page 22: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

72x72 px

LDPI 18

MDPI 24

HDPI 36

XHDPI 48

XXHDPI 72

XXXHDPI 96

Пример80x80 px

LDPI 20

MDPI 26.67

HDPI 40

XHDPI 53.33

XXHDPI 80

XXXHDPI 106.67

Page 23: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

1.2

Выявление проблем ресайза из XXHDPI на практике в Photoshop CC 2014

Page 24: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Способы ресайза графики

1. Ручной ресайз

2. Автонарезка

Page 25: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Способ 1. Ручной ресайз

1. Собираем графические элементы на отдельном канвасе

2. Изменяем Image Size у канваса для каждой плотности экрана

3. Правим проблемы ресайза

4. Нарезаем png с помощью Slice Tool

5. Раскладываем нарезку по привычной для разработчиков структуре папок

Page 26: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Способ 1. Ручной ресайз

Marc Edwards, дизайн-директор в Bjango

www.bjango.com/articles/appdesignworkflow/

Page 27: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Способ 1. Ручной ресайз

Для пиксель-пёрфект дизайнеров!

Page 28: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Способ 2. Автонарезка

1. Плагины и расширения (PNG Express и т.д.)

2. Photoshop Generator

Page 29: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Способ 2. Автонарезка

Для пиксель-пофиг дизайнеров!

Page 30: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Способы ресайза графики

1. Ручной ресайз

2. Автонарезка

Page 31: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Задача.

Выявление проблем ресайза из XXHDPI при автонарезке

Page 32: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Исходные данные: инструменты

1. PNG Express, $

2. Photoshop Generator, бесплатно

Page 33: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Исходные данные: графика

Page 34: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Исходные данные: графика

Размер72x72 px, 96x96 px, Произвольный

Толщина 6 px, внутри 5 px

Тип линий Vector Stroke, Solid Shape

Page 35: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)
Page 36: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)
Page 37: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

XXXHDPI

PNG Express Photoshop Generator

Page 38: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

XXXHDPI

PNG Express Photoshop Generator

Page 39: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

XXHDPI 16.2%

PNG Express Photoshop Generator

Page 40: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

XXHDPI 16.2%

PNG Express Photoshop Generator

Page 41: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

XHDPI 21.0%

PNG Express Photoshop Generator

Page 42: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

XHDPI 21.0%

PNG Express Photoshop Generator

Page 43: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

HDPI 40.4%

PNG Express Photoshop Generator

Page 44: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

HDPI 40.4%

PNG Express Photoshop Generator

Page 45: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

MDPI 15.6%

PNG Express Photoshop Generator

Page 46: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

MDPI 15.6%

PNG Express Photoshop Generator

Page 47: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)
Page 48: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)
Page 49: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

HDPI 40.4%

PNG Express Photoshop Generator

Page 50: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

HDPI 40.4%

PNG Express Photoshop Generator

Page 51: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)
Page 52: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Выводы из практики автонарезки в PS из XXHDPI1. Полупиксели или «мыльные» края

2. Сдвиг внутренних элементов на ±1–2 px, из-за которого:

a. Симметричная иконка становится несимметричной

b. Некоторые внутренние элементы «торчат наружу»

Page 53: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Выводы из практики автонарезки в PS из XXHDPI

Photoshop Generator: количество символов для имени слоя ограничено, поэтому придётся сокращать названия иконок.

Page 54: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Выводы из практики автонарезки в PS из XXHDPI

Автонарезка из XXHDPI ≈ 0

Page 55: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Сорьки ;(

Page 56: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Часть II.

Проблемы ресайза графики из MDPI

Page 57: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Name Scale Factor

LDPI 3/4x 75%

MDPI 1x 100%

HDPI 1 1/2x 150%

XHDPI 2x 200%

XXHDPI 3x 300%

XXXHDPI 4x 400%

Плотности Android

Page 58: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

2.1

Выявление проблем ресайза графики из MDPI в теории

Page 59: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Name Scale Factor

LDPI 3/4x 75%

MDPI 1x 100%

HDPI 1 1/2x 150%

XHDPI 2x 200%

XXHDPI 3x 300%

XXXHDPI 4x 400%

Плотности Android

Page 60: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Выводы из теории ресайза из MDPI

Чтобы минимизировать проблемы при ресайзе из MDPI, параметры графики (размер, толщина и т.д.) должны быть кратны 2 px.

Page 61: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

24x24 px

LDPI 18

MDPI 24

HDPI 36

XHDPI 48

XXHDPI 72

XXXHDPI 96

Пример25x25 px

LDPI 18.75

MDPI 25

HDPI 37.5

XHDPI 50

XXHDPI 75

XXXHDPI 100

Page 62: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

2.2

Выявление проблем ресайза из MDPI на практике в Photoshop CC 2014

Page 63: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Задача.

Выявление проблем ресайза из MDPI при автонарезке

Page 64: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Исходные данные: инструменты

1. PNG Express, $

2. Photoshop Generator, бесплатно

Page 65: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Размер24x24 px, 32x32 px, Произвольный

Толщина 2 px

Тип линий Vector Stroke, Solid Shape

Исходные данные: графика

Page 66: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)
Page 67: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

HDPI 40.2%

PNG Express Photoshop Generator

Page 68: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

HDPI 40.2%

PNG Express Photoshop Generator

Page 69: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)
Page 70: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

HDPI 40.2%

PNG Express Photoshop Generator

Page 71: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

HDPI 40.2%

PNG Express Photoshop Generator

Page 72: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)
Page 73: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Выводы из практики автонарезки в PS из MDPI1. Полупиксели или «мыльные» края

2. Сдвиг внутренних элементов на ±1–2 px, из-за которого:

a. Симметричная иконка становится несимметричной

b. Некоторые внутренние элементы «торчат наружу»

Page 74: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Выводы из практики автонарезки в PS из MDPI

Проблемы возникают только для плотности HDPI

Page 75: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Часть III.

Выявление проблем ресайза на практике в Android Studio

Page 76: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

XXXHDPI

PNG Express Photoshop Generator

Page 77: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

One more thing

Page 78: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Resonator: Resize Test

Требуется: Android 2.3.3 и выше

Page 79: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)
Page 80: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)
Page 81: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Выводы из практики в Android Studio1. Полупиксели или «мыльные» края 😡

2. Сдвиг внутренних элементов на ±1–2 px, из-за которого:

a. Симметричная иконка становится несимметричной 😡

b. Некоторые внутренние элементы «торчат наружу» 😡

Page 82: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Глобальный вывод

Без ручной правки проблемных иконок после авторесайза не обойтись

Page 83: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

www.resonator.cc @resonator_cc

Page 84: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Что делает Resonator

1. Собирает графические элементы на отдельном канвасе

2. Изменяет Image Size у канваса для каждой плотности экрана

3. Правит проблемы ресайза

4. Нарезает png

5. Раскладывает нарезку по привычной для разработчиков структуре папок

Page 85: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Что делает Resonator

1. Собирает графические элементы на отдельном канвасе

2. Изменяет Image Size у канваса для каждой плотности экрана

3. Правит проблемы ресайза

4. Нарезает png

5. Раскладывает нарезку по привычной для разработчиков структуре папок

Page 86: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Resonator Demo

Page 87: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Photoshop CC 2014Доступен для скачивания

Sketch 3 Coming soon…

Поддерживается

Page 88: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Спасибо за внимание

Page 89: Нарезка графики для разработчиков: проблемы ресайза (Resonator.cc)

Вопросы