我如何在 QML 中使用 GammaAdjust?

How do I use GammaAdjust in QML?

QML GammaAdjust 对我不起作用。 我想更改图片的伽马系数,但我的代码不起作用。

Qt版本: Qt 5.11.2(MSVC 2015,32 位)

平台: Windows10

我尝试运行一个简单的示例。 我从 https://doc.qt.io/qt-5/qml-qtgraphicaleffects-gammaadjust.html

我还在应用程序输出控制台中看到此错误:

ShaderEffect: Failed to read :/qt-project.org/imports/QtGraphicalEffects/shaders/gammeadjust.frag

我必须重新安装 Qt 吗?这是唯一的解决方案吗?

import QtQuick.Window 2.2
import QtQuick.Controls 2.4
import QtQuick 2.11
import QtGraphicalEffects 1.0

ApplicationWindow {
    visible: true
    width: 640
    height: 480
    title: qsTr("Gamma")

    Item {
        width: 300
        height: 300

        Image {
            id: bug
            source: "bug.png"
            sourceSize: Qt.size(parent.width, parent.height)
            smooth: true
            visible: false
        }
        Slider{
            y:bug.height
            from: 0
            to: 4
            onValueChanged: {
                gm.gamma = value;
            }
        }

        GammaAdjust {
            id:gm
            anchors.fill: bug
            source: bug
            gamma: 1
            cached: false
        }
    }

这似乎是 QT 的错误,请查看此错误报告 QTBUG-42107

这在5.12分支中已修复,因此您需要更新到5.13版本,如果此问题在5.13中得到修复。