ファイルシステムから画像を読み込む¶
Kanzi Studio で画像からテクスチャを作成したり、アプリケーションを実行するデバイスのファイルシステムから画像をロードして Kanzi アプリケーションで使用したりできます。
ファイルシステムから画像をロードするには:
Kanzi Studio で Application テンプレートを使用してプロジェクトを作成します。
Node Tree でテクスチャを表示したいノードを作成し、Properties で Material プロパティをテクスチャをサポートするマテリアルに設定します。マテリアルタイプの使用 と マテリアルを使用する (Using materials) を参照してください。
例えば、Node Tree で Box ノードを作成し、Properties で Material を VertexPhongTexturedMaterial に設定します。
Node Tree で前のステップで作成したノードを選択し、Properties で Texture プロパティを追加し、それをリソースIDに設定します。
例えば、Texture プロパティをリソースID BoxTexture に設定します。
この方法で、Texture プロパティにリソースIDを割り当て、後でテクスチャを表示するために使用します。
Node Tree Alt を押しながら右クリック で作成したノードを選択し、Alias を選択します。エイリアスの使用 を参照してください。
Kanzi Studio は、エイリアスを作成したノードを指すエイリアスを作成し、リソースディクショナリを含む最も近い先祖ノードのリソースディクショナリにそれを追加します。
Alias を使用して、Kanzi ノードへの一貫したアクセスを得ることができます。エイリアスを使用して、Kanzi Studio 内および Kanzi Engine API を使用してノードにアクセスすることができます。
Kanzi Studio で、File > Export > Export KZB を選択します。
Kanzi Studio は、Kanzi Studio プロジェクトから kzb ファイルと構成ファイルを作成します。Kanzi Studio は、エクスポートされたファイルを
<ProjectName>/Application/binディレクトリ、または Project > Properties の Binary Export Directory プロパティで設定した場所に保存します。kzb ファイルには、ローカライゼーションテーブルでロケールパックとしてマークしたリソースを除き、Kanzi Studio プロジェクトのすべてのノードとリソースが含まれています。Visual Studioから Kanzi アプリケーションを実行すると、アプリケーションはkzbファイルと構成ファイルを読み込みます。
テクスチャで使用したい画像を
<ProjectName>/Application/binディレクトリに配置してください。Kanzi Studio で、File > Open Kanzi Command Prompt を選択します。
Kanzi Command Prompt は、Kanzi 環境変数が設定された Windows コマンドプロンプトを開き、Kanzi のバージョンに対して Kanzi Command Prompt を開きます。
Kanzi Command Prompt を使用して、絶対パスや環境変数を設定せずに、Gradle、SCons、CMake などの Kanzi ユーティリティおよびビルドツールにアクセスします。
ヒント
Kanzi Command Prompt は、Rightware ディレクトリの Windows スタートメニューで見つけることができます。
Kanzi のバージョンが複数インストールされている場合は、そのコマンドプロンプトで作業したい Kanzi のバージョンに対応する Kanzi Command Prompt を起動するようにしてください。
<ProjectName>/Applicationディレクトリ内の Kanzi Command Prompt で、アプリケーション用の Visual Studio ソリューションを生成するスクリプトを実行します。たとえば、Visual Studio 2019 を使用している場合は、次のコマンドを実行します。
generate_cmake_vs2019_solution.bat
このスクリプトは、ディレクトリ
<ProjectName>/Application/build_vs2019内のアプリケーション用の Visual Studio ソリューションを生成します。Visual Studioで
<ProjectName>/Application/build_vs<Version>/<ProjectName>.slnVisual Studioソリューションを開きます。例えば、Kanzi Studio プロジェクトに MyProject という名前を付けた場合、Visual Studio ソリューションは
MyProject.slnと呼ばれます。
Visual Studioのソリューションエクスプローラーで、MyProject プロジェクトを右クリックし、Set as StartUp Project を選択します。
C++ アプリケーションでテクスチャを読み込みます。
// In the main class of the application use the onProjectLoaded() // virtual function to load a file from the file system. virtual void onProjectLoaded() { // Get the Screen node of your application. ScreenSharedPtr screenNode = getScreen(); // Get the Box node using the #Box alias. Model3DSharedPtr box = screenNode->lookupNode<Model3D>("#Box"); // Load the texture from the <ProjectName>/Application/bin directory. box->addResource(ResourceID("BoxTexture"), "file://./Red.png"); }
使用したいソリューション構成を選択し、アプリケーションを実行します。
開発中は、Debug 構成を選択します。製品版を作成する準備ができたら、Release 構成を選択します。
アプリケーションを起動すると、Kanzi は
<ProjectName>/Application/binに保存されている画像を読み込み、その画像からテクスチャを作成します。Kanzi がアプリケーションの kzb ファイルを読み込むと、Application::onProjectLoaded関数で取得したノードにテクスチャを設定します。