Есть ли способ установить шаг линейного градиента в QML

Я использую линейный градиент, чтобы раскрасить прямоугольник. На моем дисплее (480 пикселей, EGLFS) я четко вижу 16 цветовых шагов (см. рисунок). Есть ли способ увеличить количество шагов, чтобы получить более плавный градиент.

плохой градиент

Rectangle {
    width: 800
    height: 480
    gradient: Gradient{
        GradientStop{position: 1.0; color: "#404040"}
        GradientStop{position: 0.0; color: "black"}
    }
}

person Mat    schedule 21.12.2018    source источник
comment
Будет ли лучше, если вы добавите GradientStop в средней точке (позиция 0,5) с цветом на полпути между #404040 и черным? И что, если вы встроите его в LinearGradient? doc.qt.io/qt-5/qml-qtgraphicaleffects-lineargradient. html   -  person teh_raab    schedule 21.12.2018


Ответы (1)


Проблема заключалась в том, что в градиенте больше цветов, чем может показать дисплей (850 вместо 256). Это называется цветовой полосой (https://en.wikipedia.org/wiki/Colour_banding). . После уменьшения цветов с помощью указанного .png вместо градиента все выглядит нормально.

person Mat    schedule 03.01.2019