我有一张图片,我想在它上面应用两个QtGraphicalEffects效果:混合(正片叠底模式)和色相/饱和度。引用自文档:
将多个效果串连在一起是一种创建均匀效果的简单方法更令人印象深刻的输出
Item {
Image {
id: image1
source: "image1.png"
visible: false
smooth: true
}
Image {
id: image2
source: "image2.png"
visible: false
smooth: true
}
Blend {
id: blendImage
anchors.fill: image2
source: image2
foregroundSource: image1
mode: "multiply"
visible: false
}
HueSaturation {
anchors.fill: image1
source: image2
saturation: -1.0
}
}
这段代码没有产生想要的结果,似乎混合丢失或甚至没有考虑HueSaturation结果的输出。我如何将一个效果置于另一个效果之上?
如果你想合并效果,你需要堆叠它们(你的第二个效果的来源必须是你的第一个效果)。
您只需将HueSaturation的来源更改为blendImage
HueSaturation {
anchors.fill: image1
source: blendImage
saturation: -1.0
}
试试这个:
Item {
Image {
id: image1
source: "image1.png"
visible: false
smooth: true
}
Image {
id: image2
source: "image2.png"
visible: false
smooth: true
}
Blend {
id: blendImage
anchors.fill: image2
source: image2
foregroundSource: image1
mode: "multiply"
visible: true
}
HueSaturation {
anchors.fill: image1
source: blendImage
saturation: -1.0
}
}