Qt 在qml中使用灯光效果(亮度)

Qt 在qml中使用灯光效果(亮度),qt,qml,brightness,Qt,Qml,Brightness,我正在尝试创建一种灯光效果,每当我单击图像时,它都会从图像中显示,我尝试了以下方法: Image { id: image1 source: "../../blue_dot.png" BrightnessContrast { id:myBright x: image1.width/2 y: image1.height/2

我正在尝试创建一种灯光效果,每当我单击图像时,它都会从图像中显示,我尝试了以下方法:

     Image {
             id: image1
             source: "../../blue_dot.png"


     BrightnessContrast {
               id:myBright
               x: image1.width/2
               y: image1.height/2
               visible: false
             }


     MouseArea{
               anchors.fill: parent

               onPressed: {
                 myBright.brightness = 1
                 myBright.visible = true
                          }
             }

         }

但不幸的是,每当我单击图像时,都不会显示任何内容,关于如何使用qml对图像进行灯光效果的任何想法?

似乎没有设置某些必需的属性:

BrightnessContrast {
               id:myBright
               x: image1.width/2
               y: image1.height/2
               visible: false
               // New properties:
               source: image1
               width: 100
               height: 100

             }

宽度和高度我随机选择。你应该用正确的值替换我的值。但是最好使用“anchors.fill:image1”之类的东西。

这不是使用GraphicalEffect的方式。去看看那位官员

你必须:

  • 将图像的可见性设置为false,将效果的可见性设置为true
  • 将图形效果的宽度和高度设置为图像的高度和宽度(
    archors.fill:image
    is fine)
  • 将graphicalEffect的source属性设置为图像的id
  • 单击后,A调整GraphicalEffect的对比度/亮度属性(默认值:0,0)
像这样的事情:

Image {
    id: image1
    source: "../../blue_dot.png"
    visible: false
}
BrightnessContrast {
    id:myBright
    anchors.fill: image1
    source: image1
}

MouseArea{
    anchors.fill: parent
    onPressed: {
        myBright.brightness==0? myBright.brightness= 0.2:myBright.brightness=0
    }
}

亮度对比度
更改亮度。你想达到一种“打开”/“关闭”的效果吗?如果是这样的话,你认为效果如何?