Displace QML Type

与えられた変位マップに従って、ソースアイテムのピクセルを移動します。詳細...

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

Item

プロパティ

詳細説明

ソース変位ソース適用される効果

適用例

次の例は、効果を適用する方法を示しています。

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
    }

    Rectangle {
        id: displacement
        color: Qt.rgba(0.5, 0.5, 1.0, 1.0)
        anchors.fill: parent
        visible: false
        Image {
            anchors.centerIn: parent
            source: "images/glass_normal.png"
            sourceSize: Qt.size(parent.width/2, parent.height/2)
            smooth: true
        }
    }

    Displace {
        anchors.fill: bug
        source: bug
        displacementSource: displacement
        displacement: 0.1
    }
}

プロパティの説明

cached : bool

このプロパティは、レンダリングパフォーマンスを向上させるために、エフェクト出力ピクセルをキャッシュできるようにします。

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

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

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


displacement : real

このプロパティは、変位のスケールを定義します。スケールが大きいほど、ピクセルの変位は大きくなります。値を 0.0 に設定すると、変位は発生しません。

値の範囲は -1.0 (displacementSource に従っ た反転最大シ フ ト ) ~ 1.0 (displacementSource に従っ た最大シ フ ト )。デフ ォル ト では、 こ のプ ロ パテ ィ は0.0 (変位な し ) に設定 さ れてい ます。

変位値を変えた出力例

変位: -0.2 変位:0.0 変位:0.2

displacementSource : variant

このプロパティは、変位マップとして使用される項目を定義します。displacementSourceアイテムは、中間ピクセルバッファにレンダリングされる。その結果の赤と緑の成分値が、ソースアイテムからのピクセルの変位を決定する。

変位マップのフォーマットは、ほとんどの3Dモデリングツールで作成できるタンジェント空間の法線マップに似ています。多くの画像処理ツールは法線マップの生成をサポートしています。あるいは、この効果のための変位マップは、適切な色付けをしたQML要素にすることもできます。他のQML要素と同様に、アニメーションさせることができます。変位マップのサイズは、source のサイズに合わせることをお勧めします。

変位データはRGBAフォーマットで解釈されます。各ピクセルについて、 赤チャンネルには x 軸方向の変位が、 緑チャンネルには y 軸方向の変位が格納されます。青とアルファのチャンネルは無視されます。

赤チャンネルの値1.0が完全な赤(0.0はまったく赤がない)であると仮定すると、このエフェクトはピクセル成分の値0.5をまったく変位がないと見なします。0.5以上の値はピクセルを左にシフトさせ、0.5以下の値は右にシフトさせる。同様に、緑チャンネルの値が0.5を上回るとピクセルは上方向にシフトし、0.5を下回るとピクセルは下方向にシフトする。ピクセル単位の実際の変位量は、displacement プロパティに依存します。


source : variant

このプロパティは、displacementSource のデータに従って変位するピクセルのソース項目を定義します。

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


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