C
Qt Quick Ultralite traveo_t2g_effects の例
Infineon のTRAVEO T2GにおけるカスタムGraphical Effectsの動作を実演します。
概要
このtraveo_t2g_effects のサンプルでは、Infineon のTRAVEO T2G上で、ペイント済みアイテムAPIを使用してカスタムGraphical Effectsを実装する方法を示しています。
注:この サンプルは、Infineon TRAVEO T2Gプラットフォームでのみサポートされています。

このサンプルでは、左から右の順に以下のエフェクトを実演しています:
- ニードルトレイル
- ガウスぼかし
- 彩度低下
- 不透明度マスク
プロジェクトの構成
このプロジェクトは、サンプルコード本体と、エフェクトモジュールのソースコードを含むサブディレクトリで構成されています。カスタムエフェクトを使用するには、モジュールのソースコードをアプリケーションのディレクトリにコピーしてください。
エフェクトモジュールをインクルードするには、メインの QmlProject ファイルに、対応するモジュールを次のように追加します:
ModuleFiles {
files: [
"traveo_t2g_effects_speed_module.qmlproject",
"effects/traveo_t2g_effects_module.qmlproject"
]
}これにより、以下のインポートを追加することで、QMLソースにエフェクトモジュールを組み込むことができます:
import TviiEffects 1.0ニードル・トレイル効果
ニードル・トレイル・エフェクトの使用方法は以下の通りです:
NeedleTrail {
anchors.centerIn: parent
width: 300
height: 300
mask: "images/needle-mask.png"
rotation: root.angle
}ガウスぼかしエフェクト
ガウスぼかしエフェクトの使用方法は以下の通りです:
GaussianBlur {
anchors.verticalCenter: parent.verticalCenter
width: 128
height: 128
source: "images/juno.png"
blur: 2.5 * t
}彩度低下
彩度を下げるエフェクトの使い方は以下の通りです:
Desaturation {
anchors.verticalCenter: parent.verticalCenter
width: 128
height: 128
source: "images/ak.png"
saturation: 1 - t
}不透明度マスク
不透明度マスクの使い方は以下の通りです:
Image {
source: "images/cover.jpg"
}
ImageWithOpacityMask {
source: "images/cover.jpg"
mask: "images/opacity-mask.png"
transform: [
Scale {
yScale: -1
},
Translate {
y: 128
}
]
}この例では、不透明度マスクを使用して、画像の垂直反転した反射を作り出し、徐々にフェードアウトさせています。
画像アセットの要件
カスタムエフェクトを適用するため、以下の画像アセット固有の最適化は無効化されています。
qulrccによって実行される画像分割の最適化。needle-normal.pngでのモノクロからアルファへの最適化(ARGB32 形式を維持するため)。
さらに、VRAMが不足するのを防ぐため、一部の画像ではキャッシュが無効になっています。
例では、次のように実装されています:
ImageFiles {
files: [
"images/needle-mask.png",
"images/ak.png",
"images/juno.png",
"images/cover.jpg",
"images/opacity-mask.png"
]
MCU.Experimental.resourceSplitImageOptimization: false
MCU.resourceCachePolicy: "NoCaching"
}
ImageFiles {
files: [
"images/gauge-gauge-frame.png",
]
MCU.resourceCachePolicy: "NoCaching"
}ファイル:
- traveo_t2g_effects/BaseGauge.qml
- traveo_t2g_effects/CMakeLists.txt
- traveo_t2g_effects/Gauge.qml
- traveo_t2g_effects/Style.qml
- traveo_t2g_effects/Units.qml
- traveo_t2g_effects/effects/CMakeLists.txt
- traveo_t2g_effects/effects/Desaturation.qml
- traveo_t2g_effects/effects/GaussianBlur.qml
- traveo_t2g_effects/effects/ImageWithOpacityMask.qml
- traveo_t2g_effects/effects/NeedleTrail.qml
- traveo_t2g_effects/effects/cygfx.cpp
- traveo_t2g_effects/effects/cygfx.h
- traveo_t2g_effects/effects/desaturation.cpp
- traveo_t2g_effects/effects/desaturation.h
- traveo_t2g_effects/effects/desktop.h
- traveo_t2g_effects/effects/gaussianblur.cpp
- traveo_t2g_effects/effects/gaussianblur.h
- traveo_t2g_effects/effects/imagewithopacitymask.cpp
- traveo_t2g_effects/effects/imagewithopacitymask.h
- traveo_t2g_effects/effects/needletrail.cpp
- traveo_t2g_effects/effects/needletrail.h
- traveo_t2g_effects/effects/traveo_t2g_effects_module.qmlproject
- traveo_t2g_effects/main.cpp
- traveo_t2g_effects/mcu_traveo_t2g_effects.qmlproject
- traveo_t2g_effects/traveo_t2g_effects.qml
- traveo_t2g_effects/traveo_t2g_effects_speed_module.qmlproject
画像:
- traveo_t2g_effects/images/ak.png
- traveo_t2g_effects/images/cover.jpg
- traveo_t2g_effects/images/gauge-gauge-frame.png
- traveo_t2g_effects/images/highlight-normal.png
- traveo_t2g_effects/images/juno.png
- traveo_t2g_effects/images/needle-mask.png
- traveo_t2g_effects/images/needle-normal.png
- traveo_t2g_effects/images/opacity-mask.png
特定のQtライセンスの下で利用可能です。
詳細はこちら。