Russian Qt Forum
Май 05, 2024, 21:57 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало Форум WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  
  Просмотр сообщений
Страниц: [1]
1  Qt / Многопоточное программирование, процессы / Программно нарисовать тень в QImage : Август 28, 2020, 01:41
Добрый день!
Подскажите, как можно программно нарисовать тень на картинках в отдельных потоках?
Есть 10к изображений, которые нужно обработать. Сейчас использую QThread + QGraphicsDropShadowEffect, но QGraphicsScene, которая нужна для отрисовки тени через QGraphicsDropShadowEffect - не thread-safety, поэтому иногда крашит приложение.
Может быть есть еще какие-нибудь варианты?
2  Qt / 2D и 3D графика / Дефект изображений в QML : Июль 20, 2020, 18:36
Добрый день!

Есть дикая проблема, которую не могу решить уже не один месяц. В QML изображения искажаются, в отличие от оригинала. На картинке появляются неведомые полосы.

Исходники картинки в 4k, масштабируются под нужное расширение. К примеру, прямоугольник 400х200 в 4к, будет 200х100 в 2к (коэффициент масштабирования 0.5). Собственно, проблема возникает только при соотношении сторон экрана 16х9.

Изображение масштабируется в QQuickImageProvider путем домножения на коэффициент ширины и высоты.

Проблема возникает периодически. Только на картах NVidia.

Пробовал сохранять изображение на жесткий диск в QQuickImageProvider::requestPixmap() перед return - результат как должен быть, без искажений.

Посоветуйте что-нибудь! 
3  Qt / Общие вопросы / Передача Q_ENUM из Q_NAMESPACE в Q_INVOKABLE : Август 13, 2019, 05:50
Добрый день!
Столкнулся с проблемой, описанной тут.
ENUM объявлен в Q_NAMESPACE. При попытке передать его в качестве аргумента Q_INVOKABLE-функции, появляется сообщение:
Код
C++ (Qt)
Error: Unknown method parameter type: agents::AgentResult
. Если ENUM передавать через сигнал, то в QML прилетают undefined параметры, причем все. Например, сигнал: signalResult(agents::AgentResult result, QObject* obj1, QObject* obj2) в QML прилетает как signalResult(undefined, undefined, undefined).


Namespace зарегистрирован:
Код
C++ (Qt)
qmlRegisterUncreatableMetaObject(agents::staticMetaObject, "AgentsNamespace", 1, 0, "AgentsNamespace", "");

В чем тут дело, помогите разобраться!
4  Qt / Qt Quick / Сглаживание ScrollBar : Октябрь 24, 2018, 05:16
Добрый день!
Есть следующая структура в QML:
Код
C++ (Qt)
Image {
rotate: 5
 
Flickable {
   id: root
 
   ScrollBar.vertical: ScrollBar {
       parent: root.parent
       anchors.left: root.right
       width: scaling.xy(40)
       anchors.top: root.top
       anchors.topMargin: scaling.xy(30)
       anchors.bottom: root.bottom
       anchors.bottomMargin: scaling.xy(30)
       opacity: active ? 1 : 0.5
       visible: root.contentHeight > root.height
 
       background: Image {
           source: "image://scroll_background.png"
           anchors.horizontalCenter: parent.horizontalCenter
           width: scaling.xy(18)
           anchors.top: parent.top
           anchors.bottom: parent.bottom
           height: scaling.xy(1200)
       }
 
       contentItem: Item {
           width: scaling.xy(40)
           anchors.horizontalCenter: parent.horizontalCenter
 
           BorderImage {
               source: "image://scroll_button.png"
               anchors.horizontalCenter: parent.horizontalCenter
               anchors.horizontalCenterOffset: -scaling.xy(2)
               height: parent.height
               border.top: scaling.xy(15)
               border.bottom: scaling.xy(15)
           }
       }
   }
}

Из-за поворота родительского изображения скроллбар отрисовывается с артефактами, елочкой. Не могу добиться сглаживания. Пробовал antialiasing, smooth и mipmap. Посоветуйте как решить проблему?
Если использовать стандартный ScrollBar, то он отображается корректно.
5  Qt / Qt Quick / Rotation + OpacityMask : Сентябрь 13, 2018, 16:13
Доброго дня!

У меня есть изображение - круг. Мне нужно его повернуть динамически, и обрезать через OpacityMask до полукруга.


Делаю следующим образом:
Код:
                Image {
                    id: neutralAndPositiveFilling
                    visible: false
                    transformOrigin: Item.Center
                    rotation: -(180 - chanceBar.positiveChance * 180 / 100)
                    source: "image://rip/ui/NewDiscussionWindow/bar_positive_and_neutral.png"
                }

                Image {

                    id: chanceBarMask
                    visible: false
                    source: "image://rip/ui/NewDiscussionWindow/bar_mask.png"
                }

                OpacityMask {
                    anchors.fill: neutralAndPositiveFilling
                    source: neutralAndPositiveFilling
                    maskSource: chanceBarMask
                }

Изменение свойства rotation происходит, но изображение остается статичным, не поворачивается. Видимо из-за того, что источник для маски visible = false.

Как заставить это работать?
Страниц: [1]

Страница сгенерирована за 0.111 секунд. Запросов: 24.