圖像效果庫是一個著色器效果的集合,是由Qt開發者提供制作的。它是一個很好的工具,你可以將它應用在你的程序中,它也是一個學習如何創建著色器的例子。
圖像效果庫附帶了一個手動測試平台,這個工具可以幫助你測試發現不同的效果 測試工具在$QTDIR/qtgraphicaleffects/tests/manual/testbed下。

效果庫包含了大約20種效果,下面是效果列表和一些簡短的描述。
| 種類 | 效果 | 描述 | 
|---|---|---|
| 混合(Blend) | 混合(Blend) | 使用混合模式合並兩個資源項 | 
| 顏色(Color) | 亮度與對比度(BrightnessContrast) | 調整亮度與對比度 | 
| 著色(Colorize) | 設置HSL顏色空間顏色 | |
| 顏色疊加(ColorOverlay) | 應用一個顏色層 | |
| 降低飽和度(Desaturate) | 減少顏色飽和度 | |
| 伽馬調整(GammaAdjust) | 調整發光度 | |
| 色調飽和度(HueSaturation) | 調整HSL顏色空間顏色 | |
| 色階調整(LevelAdjust) | 調整RGB顏色空間顏色 | |
| 漸變(Gradient) | 圓錐漸變(ConicalGradient) | 繪制一個圓錐漸變 | 
| 線性漸變(LinearGradient) | 繪制一個線性漸變 | |
| 射線漸變(RadialGradient) | 繪制一個射線漸變 | |
| 失真(Distortion) | 置換(Displace) | 按照指定的置換源移動源項的像素 | 
| 陰影(Drop Shadow) | 陰影 (DropShadow) | 繪制一個陰影 | 
| 內陰影(InnerShadow) | 繪制一個內陰影 | |
| 模糊 (Blur) | 快速模糊(FastBlur) | 應用一個快速模糊效果 | 
| 高斯模糊(GaussianBlur) | 應用一個高質量模糊效果 | |
| 蒙版模糊(MaskedBlur) | 應用一個多種強度的模糊效果 | |
| 遞歸模糊(RecursiveBlur) | 重復模糊,提供一個更強的模糊效果 | |
| 運動模糊(Motion Blur) | 方向模糊(DirectionalBlur) | 應用一個方向的運動模糊效果 | 
| 放射模糊(RadialBlur) | 應用一個放射運動模糊效果 | |
| 變焦模糊(ZoomBlur) | 應用一個變焦運動模糊效果 | |
| 發光(Glow) | 發光(Glow) | 繪制一個外發光效果 | 
| 矩形發光(RectangularGlow) | 繪制一個矩形外發光效果 | |
| 蒙版(Mask) | 透明蒙版(OpacityMask) | 使用一個源項遮擋另一個源項 | 
| 閾值蒙版(ThresholdMask) | 使用一個閾值,一個源項遮擋另一個源項 | 
下面是一個使用快速模糊效果的例子:
import QtQuick 2.0
import QtGraphicalEffects 1.0
Rectangle {
    width: 480; height: 240
    color: '#1e1e1e'
    Row {
        anchors.centerIn: parent
        spacing: 16
        Image {
            id: sourceImage
            source: "assets/tulips.jpg"
            width: 200; height: width
            sourceSize: Qt.size(parent.width, parent.height)
            smooth: true
        }
        FastBlur {
            width: 200; height: width
            source: sourceImage
            radius: blurred?32:0
            property bool blurred: false
            Behavior on radius {
                NumberAnimation { duration: 1000 }
            }
            MouseArea {
                id: area
                anchors.fill: parent
                onClicked: parent.blurred = !parent.blurred
            }
        }
    }
}
左邊是原圖片。點擊右邊的圖片將會觸發blurred屬性,模糊在1秒內從0到32。左邊顯示模糊後的圖片。
