このページでは

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" に設定されています。

異なる色値を用いた出力例

黒い内側の影

白い内側の影

赤いインナーシャドウ

color: #000000 color: #ffffff color: #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に設定されていると、影はソースアイテムの内部に完全に描画されます。オフセットプロパティを変更することで、影をソースアイテムに対して相対的な位置に配置することができます。

値の範囲は -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 `(ぼかしなし)に設定されています。

半径値が異なる場合の出力例

内側の影のぼやけなし

中程度の内側のシャドウぼかし

内側の影のぼかしが濃い

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

このプロパティは、エッジソフトニングのぼかし計算を行う際に、1ピクセルあたり何サンプルを取得するかを定義します。値が大きいほど画質は向上しますが、レンダリングに時間がかかります。

理想的には、この値は必要な最大半径値の2倍に設定すべきです。たとえば、半径が0.0から4.0の間でアニメーションされる場合、サンプル数は8に設定する必要があります。

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

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

fast プロパティが true に設定されている場合、このプロパティは効果を持ちません。

source : variant

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

注: エフェクトの親をソースに設定するなどして、エフェクト自体をソースに含めることはサポートされていません。

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に設定されていると、影はソースアイテムの内部に完全にレンダリングされます。オフセットプロパティを変更することで、影をソースアイテムに対して相対的な位置に配置することができます。

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

horizontalOffset の値を変えた出力例

影のオフセット(左)

影を中央揃え

影のオフセット(右)

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