MaskedBlur QML Type

Wendet einen Unschärfeeffekt mit unterschiedlicher Intensität an. Mehr...

Import Statement: import Qt5Compat.GraphicalEffects
Since: QtGraphicalEffects 1.0
Inherits:

Item

Eigenschaften

Detaillierte Beschreibung

Der Effekt MaskedBlur macht das Bild durch Unschärfe weicher. Die Intensität der Unschärfe kann für jedes Pixel mit maskSource gesteuert werden, so dass einige Teile der Quelle stärker verwischt werden als andere.

Die Live-Weichzeichnung ist ein kostspieliger Vorgang. Ein bildschirmfüllender gaußscher Weichzeichner mit einer moderaten Anzahl von Samples läuft nur mit 60 fps auf High-End-Grafikhardware.

QuelleMaskeQuelleAngewandter Effekt

Hinweis: Dieser Effekt ist nur bei der Ausführung mit OpenGL verfügbar.

Beispiel

Das folgende Beispiel zeigt, wie der Effekt angewendet wird.

import QtQuick
import Qt5Compat.GraphicalEffects

Item {
    width: 300
    height: 300

    Image {
        id: bug
        source: "images/bug.jpg"
        sourceSize: Qt.size(parent.width, parent.height)
        smooth: true
        visible: false
    }

    LinearGradient {
        id: mask
        anchors.fill: bug
        gradient: Gradient {
            GradientStop { position: 0.2; color: "#ffffffff" }
            GradientStop { position: 0.5; color: "#00ffffff" }
        }
        start: Qt.point(0, 0)
        end: Qt.point(300, 0)
        visible: false
    }

    MaskedBlur {
        anchors.fill: bug
        source: bug
        maskSource: mask
        radius: 16
        samples: 24
    }
}

Dokumentation der Eigenschaft

cached : alias

Mit dieser Eigenschaft können die Ausgabepixel des Effekts zwischengespeichert werden, um die Rendering-Leistung zu verbessern. Jedes Mal, wenn die Eigenschaften der Quelle oder des Effekts geändert werden, müssen die Pixel im Cache aktualisiert werden. Der Speicherverbrauch erhöht sich, da für die Speicherung der Effektausgabe ein zusätzlicher Speicherplatz benötigt wird.

Es wird empfohlen, den Cache zu deaktivieren, wenn die Quelle oder die Effekteigenschaften animiert werden.

Standardmäßig ist die Eigenschaft auf false eingestellt.


maskSource : alias

Diese Eigenschaft definiert das Element, das die endgültige Intensität des Weichzeichners steuert. Der Wert des Pixel-Alphakanals von maskSource definiert den tatsächlichen Unschärferadius, der für die Unschärfe des entsprechenden Quellpixels verwendet werden soll.

Undurchsichtige maskSource-Pixel erzeugen eine Unschärfe mit dem angegebenen radius, während transparente Pixel die Unschärfe vollständig unterdrücken. Halbtransparente maskSource-Pixel erzeugen eine Unschärfe mit einem Radius, der entsprechend der Transparenzstufe des Pixels interpoliert wird.


radius : alias

Diese Eigenschaft definiert den Abstand der benachbarten Pixel, die die Unschärfe eines einzelnen Pixels beeinflussen. Ein größerer Radius erhöht den Unschärfeeffekt.

Abhängig vom Radiuswert sollte der Wert von samples auf einen ausreichend großen Wert eingestellt werden, um die visuelle Qualität zu gewährleisten.

Der Wert reicht von 0,0 (keine Unschärfe) bis inf. Standardmäßig ist die Eigenschaft auf 0.0 (keine Unschärfe) eingestellt.

Ausgabebeispiele mit verschiedenen Radiuswerten

Radius: 0 Radius: 8 Radius: 16
samples: 25samples: 25samples: 25

samples : alias

Diese Eigenschaft legt fest, wie viele Stichproben pro Pixel bei der Berechnung der Unschärfe genommen werden. Ein größerer Wert ergibt eine bessere Qualität, ist aber langsamer beim Rendern.

Idealerweise sollte dieser Wert doppelt so groß sein wie der höchste benötigte Radiuswert plus 1, z. B. wenn der Radius zwischen 0,0 und 4,0 animiert wird, sollten die Samples auf 9 gesetzt werden.

Standardmäßig ist die Eigenschaft auf 9 eingestellt.

Diese Eigenschaft soll nicht animiert werden. Das Ändern dieser Eigenschaft kann dazu führen, dass die zugrunde liegenden OpenGL-Shader neu kompiliert werden müssen.


source : alias

Diese Eigenschaft definiert das Quellelement, das verwischt werden soll.

Hinweis: Es wird nicht unterstützt, den Effekt sich selbst einschließen zu lassen, z. B. indem die Quelle auf das übergeordnete Element des Effekts gesetzt wird.


© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.