このページでは

InnerShadow QML Type

色付けされ、ぼかされた影をソースの内側に生成します。詳細...

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

Item

プロパティ

詳細説明

デフォルトでは、このエフェクトは高品質のシャドウ画像を生成します。レンダリング速度は、特にシャドウのエッジが大きくソフト化されている場合に低下します。より速いレンダリング速度が必要で、可能な限り最高の視覚的品質が必要でない使用例では、プロパティfast を true に設定できます。

ソース適用される効果

注意: このエフェクトはOpenGLで実行されているときに利用可能です。

次の例は、エフェクトを適用する方法を示しています。

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
    }
}

プロパティの説明

cached : bool

このプロパティは、レンダリングのパフォーマンスを向上させるために、エフェクトの出力ピクセルをキャッシュできるようにします。ソースまたはエフェクトのプロパティが変更されるたびに、キャッシュ内のピクセルを更新する必要があります。エフェクト出力を保存するために余分なメモリバッファが必要になるため、メモリ消費量が増加します。

ソースまたはエフェクトプロパティがアニメーションするときは、キャッシュを無効にすることをお勧めします。

デフォルトでは、このプロパティはfalse に設定されています。

color : color

このプロパティは、影に使用される RGBA カラー値を定義します。

デフォルトでは、このプロパティは"black" に設定されています。

色値を変えた出力例

色:#000000 color:#ffffff color: #ffffff#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

このプロパティは、エフェクトのソフトネスを生成するために使用されるぼかしアルゴリズムを選択します。trueに設定すると高速アルゴリズムが有効になり、falseに設定するとより高品質な結果が得られます。

デフォルトでは、このプロパティはfalse に設定されています。

異なるfast値での出力例

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

HorizontalOffset とverticalOffset プロパティは、InnerShadow アイテムの位置と比較した、レンダリングされる影のオフセットを定義します。多くの場合、InnerShadow アイテムはソース要素を埋めるように固定されます。この場合、HorizontalOffset プロパティとverticalOffset プロパティを 0 に設定すると、影はソース アイテムの内部に完全にレンダリングされます。offsetプロパティを変更することで、影をソースアイテムに対して相対的に配置することができます。

値の範囲は -inf から inf です。デフォルトでは、プロパティは0 に設定されています。

horizontalOffset の値を変えた出力例

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

半径は影の柔らかさを定義します。半径を大きくすると影のエッジがぼやけて見えます。

半径の値に応じて、samples の値を十分に大きく設定して、視覚的な品質を確保する必要があります。

値の範囲は0.0(ぼかしなし)からinfまでです。デフォルトでは、このプロパティは0.0 (ぼかしなし)に設定されています。

半径の値を変えた出力例

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

samples : int

このプロパティは、エッジ・ソフトニング・ブラー計算が行われる際に、ピクセルあたりいくつのサンプルが取得されるかを定義する。値を大きくすると画質は良くなりますが、レンダリングに時間がかかります。

例えば、半径が0.0から4.0の間でアニメートされる場合、サンプル数は8に設定されるべきです。

値の範囲は 0 から 32 です。デフォルトでは、このプロパティは0 に設定されています。

このプロパティはアニメートされることを意図していません。このプロパティを変更すると、基礎となる OpenGL シェーダーが再コンパイルされる可能性があります。

fast プロパティが true に設定されている場合、このプロパティは影響しません。

source : variant

このプロパティは、生成されるシャドウのソースとして使用されるソースアイテムを定義します。

注意: 例えば source をエフェクトの親に設定するなど、エフェクト自身を含めることはサポートされていません。

spread : real

このプロパティは、ソースのエッジ付近でシャドウの色のどの程度大きな部分が強化されるかを定義します。

値の範囲は 0.0 から 1.0 である。デフォルトでは、このプロパティは0.5 に設定されています。

spread 値を変えた出力例

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

HorizontalOffset と verticalOffset プロパティは、InnerShadow アイテムの位置と比較したレンダリングされる影のオフセットを定義します。多くの場合、InnerShadow アイテムはソース要素を埋めるように固定されます。この場合、HorizontalOffset プロパティと verticalOffset プロパティを 0 に設定すると、影はソース アイテムの内側に完全にレンダリングされます。offsetプロパティを変更することで、影をソースアイテムに対して相対的に配置することができます。

値の範囲は -inf から inf です。デフォルトでは、プロパティは0 に設定されています。

horizontalOffset の値を変えた出力例

horizontalOffset: -20 horizontalOffset: 0 horizontalOffset: 20
radius:16radius:16radius:16
samples: 24samples: 24samples: 24
color:#000000color:#000000color:#000000
垂直オフセット: 0垂直オフセット: 0垂直オフセット: 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.