Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Компонент для ретины и для нормального дисплея
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Quick
ltise
Подскажите плиз как разработать QML компонент с PNG картинками для обычного дисплея и для ретины.

Т/е у меня есть PNG в обычном размере и с размером x2 для ретины, как их правильно использовать ?

продублировать мои нормальные компоненты для ретины с размером х2 ? или есть более нормальное решение


Спасибо

navrocky
Цитата(ltise @ 23.3.2014, 1:13) *
Подскажите плиз как разработать QML компонент с PNG картинками для обычного дисплея и для ретины.

Т/е у меня есть PNG в обычном размере и с размером x2 для ретины, как их правильно использовать ?

продублировать мои нормальные компоненты для ретины с размером х2 ? или есть более нормальное решение


Эта тема обширная. Сам я еще её не проходил, но определенные мысли есть. Во первых тебе надо знать плотность экрана. Для старого экрана она равна 1, для ретины 2. С появлением ыфон6 наверное появятся дробные значения, будет веселее, как на андроиде.

Собственно основная сложность - узнать эту плотность. Есть функции для определения разрешения экрана в пиикселях на мм. в объекте Screen, там же можно узнать его размер в пикселях. На основании этих данных можно выяснить ретина это или не ретина, а также айфон это или айпэд.

Эту константу можно положить в глобальную JS либу, которую подключать ко всем компонентам, и соответственно в коде каждого компонента, опираясь на неё, уже выбирать ту или иную картинку, регулировать размер отступов, толщину рамок и т.д.

Дерзай.

Цитата(ltise @ 23.3.2014, 1:13) *
Подскажите плиз как разработать QML компонент с PNG картинками для обычного дисплея и для ретины.

Т/е у меня есть PNG в обычном размере и с размером x2 для ретины, как их правильно использовать ?

продублировать мои нормальные компоненты для ретины с размером х2 ? или есть более нормальное решение


Эта тема обширная. Сам я еще её не проходил, но определенные мысли есть. Во первых тебе надо знать плотность экрана. Для старого экрана она равна 1, для ретины 2. С появлением ыфон6 наверное появятся дробные значения, будет веселее, как на андроиде.

Собственно основная сложность - узнать эту плотность. Есть функции для определения разрешения экрана в пиикселях на мм. в объекте Screen, там же можно узнать его размер в пикселях. На основании этих данных можно выяснить ретина это или не ретина, а также айфон это или айпэд.

Эту константу можно положить в глобальную JS либу, которую подключать ко всем компонентам, и соответственно в коде каждого компонента, опираясь на неё, уже выбирать ту или иную картинку, регулировать размер отступов, толщину рамок и т.д. Т.е. масштабировать руками, используя этот коэффициент.

Дерзай.
iDarkLord
Цитата(ltise @ 23.3.2014, 1:13) *
Подскажите плиз как разработать QML компонент с PNG картинками для обычного дисплея и для ретины.

Т/е у меня есть PNG в обычном размере и с размером x2 для ретины, как их правильно использовать ?

продублировать мои нормальные компоненты для ретины с размером х2 ? или есть более нормальное решение


Спасибо

Не использовать растровые изображения там где это возможно, а использовать SVG или рисовать на Canvas, размеры, отступы получать через объект Screen.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.