Russian Qt Forum

Qt => Вопросы новичков => Тема начата: abdulgalimov от Октябрь 29, 2015, 14:19



Название: Сглаживание линий в iOS
Отправлено: abdulgalimov от Октябрь 29, 2015, 14:19
Нарисовал линию QGraphicsLineItem с эффектом QGraphicsBlurEffect:
Код:
QGraphicsLineItem* lineItem = _scene->addLine(30, 30, 100, 100, *pen);
QGraphicsBlurEffect* blur = new QGraphicsBlurEffect();
lineItem->setGraphicsEffect(blur);

Вот что получило на десктопе (http://take.ms/48Y1l), а вот что получилось на iOS: (http://take.ms/uZM3A).
Кто подскажет в чем проблема?


Название: Re: Сглаживание линий в iOS
Отправлено: Zerkin от Октябрь 29, 2015, 16:57
C renderHints попробуйте поиграться. Antialiasing быть может исправит ситуацию.


Название: Re: Сглаживание линий в iOS
Отправлено: abdulgalimov от Октябрь 29, 2015, 17:10
C renderHints попробуйте поиграться. Antialiasing быть может исправит ситуацию.

Пробовал, не помогает.


Название: Re: Сглаживание линий в iOS
Отправлено: lit-uriy от Октябрь 30, 2015, 10:20
sam, а без QGraphicsBlurEffect-а тоже есть проблемы?


Название: Re: Сглаживание линий в iOS
Отправлено: abdulgalimov от Октябрь 30, 2015, 10:54
sam, а без QGraphicsBlurEffect-а тоже есть проблемы?

Без QGraphicsBlurEffect-a на десктопе и iOS выглядит одинаково нормально. Хотя я не уверен, может быть это связано с разрешением? Например Qt приложение адаптировано только для iPhone 5, а я пытаюсь запустить на iPhone 6, в итоге маленькое изображение увеличивается под новый размер и изображение искажается... Это так, мысли вслух, поправьте меня если я ошибаюсь.


Название: Re: Сглаживание линий в iOS
Отправлено: abdulgalimov от Октябрь 30, 2015, 15:51
Разрешение iPhone6 = 750×1334px.
В моем приложении при запуске на iPhone6, свойство:
Код:
QApplication::desktop()->screenGeometry() 
выдает значение:
Код:
QRect(0,0 375x667)

Как сделать так, чтобы размеры в приложении соответствовали разрешению экрана устройства?


Название: Re: Сглаживание линий в iOS
Отправлено: Alex Custov от Октябрь 30, 2015, 21:55
Как сделать так, чтобы размеры в приложении соответствовали разрешению экрана устройства?

Они и так соответствуют, на iOS pixel density равен 2.0, и размер экрана в физических пикселях будет (375x667) * 2.0 = 750×1334