Auf dieser Seite

InnerShadow QML Type

Erzeugt einen farbigen und unscharfen Schatten innerhalb der Quelle. Mehr...

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

Item

Eigenschaften

Ausführliche Beschreibung

Standardmäßig erzeugt der Effekt ein hochwertiges Schattenbild, wodurch die Darstellungsgeschwindigkeit des Schattens möglicherweise nicht die höchstmögliche ist. Die Darstellungsgeschwindigkeit wird insbesondere dann verringert, wenn die Schattenkanten stark weichgezeichnet sind. Für Anwendungsfälle, die eine schnellere Darstellungsgeschwindigkeit erfordern und bei denen die höchstmögliche visuelle Qualität nicht erforderlich ist, kann die Eigenschaft „ fast “ auf „true“ gesetzt werden.

QuelleEffekt angewendet

Farbenfrohe Schmetterlingsgrafik

Schmetterling mit innerem Schatteneffekt

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

    Rectangle {
        anchors.fill: parent
    }

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

    InnerShadow {
        anchors.fill: butterfly
        radius: 8.0
        samples: 16
        horizontalOffset: -3
        verticalOffset: 3
        color: "#b0000000"
        source: butterfly
    }
}

Dokumentation der Eigenschaften

cached : bool

Mit dieser Eigenschaft können die Ausgangspixel des Effekts zwischengespeichert werden, um die Rendering-Leistung zu verbessern. Bei jeder Änderung der Quell- oder Effekteigenschaften müssen die Pixel im Cache aktualisiert werden. Der Speicherverbrauch steigt, da für die Speicherung der Effekt-Ausgabe ein zusätzlicher Speicherpuffer benötigt wird.

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

Standardmäßig ist die Eigenschaft auf „ false “ gesetzt.

color : color

Diese Eigenschaft legt den RGBA-Farbwert fest, der für den Schatten verwendet wird.

Standardmäßig ist die Eigenschaft auf „ "black" “ gesetzt.

Beispiele für die Ausgabe mit unterschiedlichen Farbwerten

Schwarzer innerer Schatten

Weißer innerer Schatten

Roter innerer Schatten

color: #000000 color: #ffffff Farbe: #ff0000
radius: 16radius: 16radius: 16
samples: 24samples: 24samples: 24
horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 0
spread: 0,2spread: 0,2spread: 0,2

fast : bool

Diese Eigenschaft legt den Weichzeichnungsalgorithmus fest, der zur Erzeugung der Weichheit des Effekts verwendet wird. Wenn dieser Wert auf „true“ gesetzt wird, wird der schnelle Algorithmus aktiviert; bei „false“ wird ein Ergebnis höherer Qualität erzielt.

Standardmäßig ist die Eigenschaft auf „ false “ eingestellt.

Beispiele für die Ausgabe mit unterschiedlichen „fast“-Werten

Hochwertiger Innenschatten

Schnelle Darstellung von Innenschatten

„fast“: „false“ „fast“: „true“
radius: 16radius: 16
samples: 24samples: 24
color: #000000color: #000000
horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0
spread: 0,2spread: 0,2

horizontalOffset : real

Die Eigenschaften „HorizontalOffset“ und „ verticalOffset “ legen den Versatz des gerenderten Schattens im Verhältnis zur Position des „ InnerShadow “-Elements fest. Häufig wird das „ InnerShadow “-Element so verankert, dass es das Quellelement ausfüllt. Sind in diesem Fall die Eigenschaften „HorizontalOffset“ und „ verticalOffset “ auf 0 gesetzt, wird der Schatten vollständig innerhalb des Quellelements gerendert. Durch Ändern der Versatzeigenschaften kann der Schatten relativ zum Quellelement positioniert werden.

Die Werte reichen von -inf bis inf. Standardmäßig sind die Eigenschaften auf „ 0 “ gesetzt.

Ausgabebeispiele mit unterschiedlichen „horizontalOffset“-Werten

Schattenversatz nach links

Schatten zentriert

Schattenversatz nach rechts

horizontalOffset: -20 horizontalOffset: 0 horizontalOffset: 20
radius: 16radius: 16radius: 16
samples: 24samples: 24samples: 24
color: #000000color: #000000color: #000000
verticalOffset: 0verticalOffset: 0verticalOffset: 0
spread: 0spread: 0spread: 0

radius : real

Der Radius bestimmt die Weichheit des Schattens. Ein größerer Radius führt dazu, dass die Kanten des Schattens unschärfer erscheinen.

Je nach Radiuswert sollte der Wert von „ samples “ ausreichend groß gewählt werden, um die Bildqualität zu gewährleisten.

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

Ausgabebeispiele mit unterschiedlichen Radiuswerten

Keine Unschärfe im inneren Schatten

Mäßige Unschärfe im inneren Schattenbereich

Starke Unschärfe des inneren Schattens

radius: 0 radius: 6 radius: 12
samples: 24samples: 24samples: 24
color: #000000color: #000000color: #000000
horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 0
spread: 0spread: 0spread: 0

samples : int

Diese Eigenschaft legt fest, wie viele Abtastwerte pro Pixel bei der Berechnung der Kantenweichzeichnung verwendet werden. Ein höherer Wert führt zu einer besseren Qualität, verlangsamt jedoch die Darstellung.

Idealerweise sollte dieser Wert doppelt so groß sein wie der höchste erforderliche Radiuswert. Wenn der Radius beispielsweise zwischen 0,0 und 4,0 animiert wird, sollte die Anzahl der Abtastwerte auf 8 gesetzt werden.

Der Wert reicht von 0 bis 32. Standardmäßig ist die Eigenschaft auf „ 0 “ gesetzt.

Diese Eigenschaft ist nicht für die Animation vorgesehen. Eine Änderung dieser Eigenschaft kann dazu führen, dass die zugrunde liegenden OpenGL-Shader neu kompiliert werden.

Wenn die Eigenschaft „ fast “ auf „true“ gesetzt ist, hat diese Eigenschaft keine Auswirkung.

source : variant

Diese Eigenschaft definiert das Quellelement, das als Quelle für den generierten Schatten verwendet werden soll.

Hinweis: Es wird nicht unterstützt, dass der Effekt sich selbst einbezieht, beispielsweise durch Setzen der Quelle auf das übergeordnete Element des Effekts.

spread : real

Diese Eigenschaft legt fest, wie stark die Schattenfarbe an den Rändern der Lichtquelle verstärkt wird.

Der Wert liegt zwischen 0,0 und 1,0. Standardmäßig ist die Eigenschaft auf „ 0.5 “ eingestellt.

Ausgabebeispiele mit unterschiedlichen Ausbreitungswerten

Innerer Schatten ohne Ausbreitung

Innenlidschatten mit mittlerer Deckkraft

Innerer Schatten mit großer Streuung

spread: 0,0 spread: 0,3 spread: 0,5
radius: 16radius: 16radius: 16
samples: 24samples: 24samples: 24
color: #000000color: #000000color: #000000
horizontalOffset: 0horizontalOffset: 0horizontalOffset: 0
verticalOffset: 0verticalOffset: 0verticalOffset: 0

verticalOffset : real

Die Eigenschaften „HorizontalOffset“ und „VerticalOffset“ legen den Versatz des gerenderten Schattens gegenüber der Position des „ InnerShadow “-Elements fest. Häufig wird das „ InnerShadow “-Element so verankert, dass es das Quellelement ausfüllt. Sind in diesem Fall die Eigenschaften „HorizontalOffset“ und „verticalOffset“ auf 0 gesetzt, wird der Schatten vollständig innerhalb des Quellelements gerendert. Durch Ändern der Versatzeigenschaften kann der Schatten relativ zum Quellelement positioniert werden.

Die Werte reichen von -inf bis inf. Standardmäßig sind die Eigenschaften auf „ 0 “ gesetzt.

Ausgabebeispiele mit unterschiedlichen „ horizontalOffset “-Werten

Schattenversatz nach links

Schatten zentriert

Schattenversatz nach rechts

horizontalOffset: -20 horizontalOffset: 0 horizontalOffset: 20
radius: 16radius: 16radius: 16
samples: 24samples: 24samples: 24
color: #000000color: #000000color: #000000
vertikaler Versatz: 0vertikalerVersatz: 0vertikaler Versatz: 0
spread: 0spread: 0spread: 0

© 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.