RecursiveBlur QML Type
Wendet wiederholt eine Unschärfe an und sorgt so für einen starken Unschärfeeffekt. Mehr...
| Import Statement: | import Qt5Compat.GraphicalEffects |
| Since: | QtGraphicalEffects 1.0 |
| Inherits: |
Eigenschaften
Ausführliche Beschreibung
Der „RecursiveBlur“-Effekt macht das Bild weicher, indem er es mit einem Algorithmus verwischt, der eine rekursive Rückkopplungsschleife nutzt, um das Ausgangsbild mehrfach zu verwischen. Der Effekt liefert möglicherweise unschärfere Ergebnisse als „ GaussianBlur “ oder „ FastBlur “, jedoch wird das Ergebnis asynchron erzeugt und benötigt mehr Zeit.
| Quelle | Effekt angewendet |
|---|---|
|
|
Hinweis: Dieser Effekt ist bei 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
}
RecursiveBlur {
anchors.fill: bug
source: bug
radius: 7.5
loops: 50
}
}Dokumentation der Eigenschaften
cached : bool
Diese Eigenschaft ermöglicht es, die Ausgabepixel des Effekts zwischenzuspeichern, 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 steigt, da ein zusätzlicher Speicherpuffer zum Speichern der Effektausgabe benötigt wird.
Es wird empfohlen, den Cache zu deaktivieren, wenn die Eigenschaften der Quelle oder des Effekts animiert werden.
Standardmäßig ist die Eigenschaft auf „ false “ gesetzt.
loops : int
Diese Eigenschaft legt fest, wie viele Unschärfe-Iterationen für die Quelle durchgeführt werden sollen. Wenn sich die Eigenschaft ändert, beginnt der iterative Unschärfeprozess. Wird der Wert verringert oder ändert sich der Wert von Null auf einen Wert ungleich Null, wird ein Schnappschuss der Quelle erstellt. Der Schnappschuss dient als Ausgangspunkt für den Prozess.
Die Iterationsschleife versucht, so schnell wie möglich zu laufen. Die Geschwindigkeit kann durch den VSYNC-Wert oder die für einen Unschärfeschritt benötigte Zeit – oder beides – begrenzt sein. Manchmal kann es wünschenswert sein, die Unschärfe mit einem langsameren Tempo zu erzeugen. In diesem Fall kann es sinnvoll sein, die Eigenschaft mithilfe einer Animation zu steuern, die den Wert erhöht.
Der Wert reicht von 0 bis unendlich. Standardmäßig ist die Eigenschaft auf „ 0 “ gesetzt.
| Ausgabebeispiele mit unterschiedlichen Schleifenwerten | ||
|---|---|---|
|
|
|
| loops: 4 | loops: 20 | loops: 70 |
| radius: 7,5 | radius: 7,5 | radius: 7,5 |
progress : real
Diese Eigenschaft gibt den Fortschritt des asynchronen Quellunschärfevorgangs an, von 0,0 (keine Unschärfe) bis 1,0 (abgeschlossen).
radius : real
Diese Eigenschaft legt den Abstand benachbarter Pixel fest, die die Unschärfe einzelner Pixel beeinflussen. Ein größerer Radius sorgt für eine bessere Qualität, verlangsamt jedoch die Darstellung.
Hinweis: Der Radiuswert in diesem Effekt ist nicht dafür vorgesehen, häufig geändert oder animiert zu werden. Die richtige Vorgehensweise besteht darin, den richtigen Wert festzulegen und ihn während der gesamten Dauer der iterativen Unschärfesequenz unverändert zu lassen.
Der Wert reicht von (keine Unschärfe) bis 16,0 (maximaler Unschärfeschritt). Standardmäßig ist die Eigenschaft auf „ 0.0 “ (keine Unschärfe) eingestellt.
| Ausgabebeispiele mit unterschiedlichen Radiuswerten | ||
|---|---|---|
|
|
|
| Radius: 2,5 | radius: 4,5 | radius: 7,5 |
| loops: 20 | loops: 20 | loops: 20 |
Hinweis: Die Eigenschaft „ radius “ dient zur Berechnung der Größe des Offscreen-Puffers des Effekts. Höhere Werte führen zu größeren Speicherzuweisungen.
source : variant
Diese Eigenschaft legt das Quellelement fest, das unscharf gemacht werden soll.
Hinweis: Es wird nicht unterstützt, den Effekt auf sich selbst anzuwenden, beispielsweise indem „source“ auf das übergeordnete Element des Effekts gesetzt wird.
transparentBorder : bool
Diese Eigenschaft legt das Weichzeichnungsverhalten an den Rändern des Elements fest, wo die Pixelweichzeichnung durch die Pixel außerhalb der Quellränder beeinflusst wird.
Wenn die Eigenschaft auf „ true “ gesetzt ist, werden die Pixel außerhalb der Quelle als transparent interpretiert, was der OpenGL-Erweiterung „clamp-to-border“ ähnelt. Die Unschärfe wird leicht über den Bereich des Effekt-Elements hinaus ausgedehnt.
Wenn die Eigenschaft auf „ false “ gesetzt ist, werden die Pixel außerhalb des Quellbereichs so interpretiert, dass sie dieselbe Farbe wie die Pixel am Rand des Elements haben, was dem „clamp-to-edge“-Verhalten von OpenGL ähnelt. Die Unschärfe erstreckt sich nicht über den Bereich des Effektelements hinaus.
Standardmäßig ist die Eigenschaft auf „ false “ gesetzt.
© 2026 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.









