ファイルシステムから画像を読み込む

Kanzi Studio で画像からテクスチャを作成したり、アプリケーションを実行するデバイスのファイルシステムから画像をロードして Kanzi アプリケーションで使用したりできます。

ファイルシステムから画像をロードするには:

  1. Kanzi Studio で Application テンプレートを使用してプロジェクトを作成します。

    ../../_images/create-project-with-application.png
  2. Node Tree でテクスチャを表示したいノードを作成し、Properties で Material プロパティをテクスチャをサポートするマテリアルに設定します。マテリアルタイプの使用 と マテリアルを使用する (Using materials) を参照してください。

    例えば、Node Tree で Box ノードを作成し、Properties で Material を VertexPhongTexturedMaterial に設定します。

    ../../_images/node-tree-box.png ../../_images/box-material-set-to-vertexphongtexturedmaterial.png
  3. Node Tree で前のステップで作成したノードを選択し、Properties で Texture プロパティを追加し、それをリソースIDに設定します。

    例えば、Texture プロパティをリソースID BoxTexture に設定します。

    この方法で、Texture プロパティにリソースIDを割り当て、後でテクスチャを表示するために使用します。

    ../../_images/add-texture-property.png ../../_images/texture-property.png
  4. Node Tree Alt を押しながら右クリック で作成したノードを選択し、Alias を選択します。エイリアスの使用 を参照してください。

    Kanzi Studio は、エイリアスを作成したノードを指すエイリアスを作成し、リソースディクショナリを含む最も近い先祖ノードのリソースディクショナリにそれを追加します。

    Alias を使用して、Kanzi ノードへの一貫したアクセスを得ることができます。エイリアスを使用して、Kanzi Studio 内および Kanzi Engine API を使用してノードにアクセスすることができます。

    ../../_images/add-alias-to-resource-dictionary.png
  5. 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ファイルと構成ファイルを読み込みます。

    ../../_images/export-kzb-binary.png
  6. テクスチャで使用したい画像を <ProjectName>/Application/bin ディレクトリに配置してください。

  7. Kanzi Studio で、File > Open Kanzi Command Prompt を選択します。

    Kanzi Command Prompt は、Kanzi 環境変数が設定された Windows コマンドプロンプトを開き、Kanzi のバージョンに対して Kanzi Command Prompt を開きます。

    Kanzi Command Prompt を使用すると、絶対パスを使用したり環境変数を設定したりせずに、Kanzi のユーティリティや、Gradle、CMake などのビルドツールにアクセスできます。

    ../../_images/open-kanzi-command-prompt.png

    ヒント

    Kanzi Command Prompt は、Rightware ディレクトリの Windows スタートメニューで見つけることができます。

    Kanzi のバージョンが複数インストールされている場合は、そのコマンドプロンプトで作業したい Kanzi のバージョンに対応する Kanzi Command Prompt を起動するようにしてください。

  8. <ProjectName>/Application ディレクトリ内の Kanzi Command Prompt で、アプリケーション用の Visual Studio ソリューションを生成するスクリプトを実行します。

    generate_cmake_vs2022_solution.bat
    

    このスクリプトは、<ProjectName>/Application/build_vs2022 ディレクトリにアプリケーション用の Visual Studio ソリューションを生成します。

  9. Visual Studioで <ProjectName>/Application/build_vs<Version>/<ProjectName>.sln Visual Studioソリューションを開きます。

    例えば、Kanzi Studio プロジェクトに MyProject という名前を付けた場合、Visual Studio ソリューションは MyProject.sln と呼ばれます。

    ../../_images/myproject-project-contents.png
  10. Visual Studioのソリューションエクスプローラーで、MyProject プロジェクトを右クリックし、Set as StartUp Project を選択します。

    ../../_images/visual-studio-set-as-startup-project1.png
  11. 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");
    }
    
  12. 使用したいソリューション構成を選択し、アプリケーションを実行します。

    開発中は、Debug 構成を選択します。製品版を作成する準備ができたら、Release 構成を選択します。

    ../../_images/debug-configuration.png

    アプリケーションを起動すると、Kanzi は <ProjectName>/Application/bin に保存されている画像を読み込み、その画像からテクスチャを作成します。Kanzi がアプリケーションの kzb ファイルを読み込むと、Application::onProjectLoaded 関数で取得したノードにテクスチャを設定します。

関連項目

テクスチャ (Textures)

マテリアルタイプの使用

マテリアルを使用する (Using materials)

エイリアスの使用

kzb ファイル

Kanzi Engine C++ API リファレンス