方法: Direct2D または Javascipt アプリで使用するためのテクスチャをエクスポートするHow to: Export a Texture for Use with Direct2D or Javascipt Apps

イメージ コンテンツ パイプラインにより、Direct2D の内部レンダリング規則と互換性のあるテクスチャを生成できます。The Image Content Pipeline can generate textures that are compatible with Direct2D's internal rendering conventions. この種のテクスチャの用途に適しているのは、Direct2D を使用するアプリや、JavaScript で作成する UWP アプリです。Textures of this kind are suitable for use in apps that use Direct2D, and in UWP apps created by using JavaScript.

このドキュメントでは、以下のアクティビティについて説明します。This document demonstrates these activities:

  • イメージ コンテンツ パイプラインによって処理されるようにソース イメージを構成する。Configuring the source image to be processed by the Image Content Pipeline.

  • Direct2D または JavaScript アプリで使用できるテクスチャを生成するようにイメージ コンテンツ パイプラインを構成する。Configuring the Image Content Pipeline to generate a texture that you can use in a Direct2D or JavaScript app.

    • ブロック圧縮形式の .dds ファイルを生成する。Generate a block-compressed .dds file.

    • 前乗算されたアルファを生成する。Generate premultiplied alpha.

    • MIPMAP の生成を無効にする。Disable mipmap generation.

Direct2D のレンダリング規則Rendering conventions in Direct2D

Direct2D のコンテキストで使用するテクスチャは、次に示す Direct2D の内部レンダリング規則に準拠している必要があります。Textures that are used in the context of Direct2D must conform to these Direct2D internal rendering conventions:

  • Direct2D では、前乗算されたアルファを使用することで透明性と透光性を実現します。Direct2D implements transparency and translucency by using premultiplied alpha. Direct2D と組み合わせて使用するテクスチャには、前乗算されたアルファが含まれている必要があります。この要件は、テクスチャで透明性または透光性を使用しない場合でも同様です。Textures used with Direct2D must contain premultiplied alpha, even if the texture doesn't use transparency or translucency. 前乗算されたアルファに関する詳細については、「方法: 前乗算されたアルファを持つテクスチャをエクスポートする」を参照してください。For more information about premultiplied alpha, see How to: Export a Texture that has Premultiplied Alpha.

  • テクスチャは次のいずれかのブロック圧縮形式の .dds ファイルで提供する必要があります。The texture must be supplied in .dds format, by using one of these block-compression formats:

    • BC1_UNORM 圧縮BC1_UNORM compression

    • BC2_UNORM 圧縮BC2_UNORM compression

    • BC3_UNORM 圧縮BC3_UNORM compression

  • MIPMAP はサポートされていません。Mipmaps are not supported.

Direct2D のレンダリング規則に準拠したテクスチャを作成するにはTo create a texture that's compatible with Direct2D rendering conventions

  1. 基本的なテクスチャを作成します。Begin with a basic texture. 既存のイメージを読み込むか、「方法: 基本テクスチャを作成する」の手順に従って新しいイメージを作成します。Load an existing image, or create a new one as described in How to: Create a Basic Texture. DDS 形式でブロック圧縮をサポートするには、100x100、128x128、256x192 など、サイズの幅と高さが 4 の倍数であるテクスチャを指定します。To support block-compression in .dds format, specify a texture that has a width and height that are multiples of four in size, for example, 100x100, 128x128, or 256x192. MIPMAP はサポートされていないため、テクスチャは正方形である必要がなく、サイズも 2 の累乗である必要はありません。Because mipmapping is not supported, the texture does not have to be square and does not have to be a power of two in size.

  2. イメージ コンテンツ パイプラインによって処理されるようにテクスチャ ファイルを構成します。Configure the texture file so that it's processed by the Image Content Pipeline. ソリューション エクスプローラーで、先ほど作成したテクスチャ ファイルのショートカット メニューを開き、[プロパティ] をクリックします。In Solution Explorer, open the shortcut menu for the texture file you just created and then choose Properties. [構成プロパティ][全般] ページで、[項目の種類][Image Content Pipeline] (イメージ コンテンツ パイプライン) に設定します。On the Configuration Properties, General page, set the Item Type property to Image Content Pipeline. [コンテンツ][はい] に、[ビルドから除外][いいえ] に設定されていることを確認し、[適用] ボタンをクリックします。Make sure that the Content property is set to Yes and Exclude From Build is set to No, and then choose the Apply button. [イメージ コンテンツ パイプライン] の構成プロパティ ページが表示されます。The Image Content Pipeline configuration property page appears.

  3. 出力形式を、いずれかのブロック圧縮形式に設定します。Set the output format to one of the block-compressed formats. [構成プロパティ] で、[イメージ コンテンツ パイプライン][全般] ページの順にクリックし、[圧縮][BC3_UNORM compression (/compress:BC3_UNORM)] (BC3_UNORM 圧縮 (/compress:BC3_UNORM)) に設定します。On the Configuration Properties, Image Content Pipeline, General page, set the Compress property to BC3_UNORM compression (/compress:BC3_UNORM). 要件に応じて、他の BC1、BC2、または BC3 形式を選択することもできます。You could choose any of the other BC1, BC2, or BC3 formats, depending on your requirements. Direct2D では現在、BC4、BC5、BC6、または BC7 テクスチャはサポートされていません。Direct2D doesn't currently support BC4, BC5, BC6, or BC7 textures. 各種の BC 形式の詳細については、「ブロック圧縮 (Direct3D 10)」を参照してください。For more information about the different BC formats, see Block Compression (Direct3D 10).

    注意

    指定した圧縮形式により、イメージ コンテンツ パイプラインによって生成されるファイルの形式が決まります。The compression format that's specified determines the format of the file that's produced by the Image Content Pipeline. これは、イメージ エディターからソース イメージの [形式] で指定する形式とは異なります。[形式] で指定するのは、ソース イメージ ファイルがディスクに格納されるときのファイル形式 (作業形式) です。This is different than the Format property of the source image in the Image Editor, which determines the format of the source image file as stored on disk—that is, the working format. 通常、圧縮された作業形式は必要ありません。Typically, you don't want a working format that's compressed.

  4. 前乗算されたアルファを使用して出力を生成するようにイメージ コンテンツ パイプラインを構成します。Configure the Image Content Pipeline to produce output that uses premultiplied alpha. [構成プロパティ] で、[イメージ コンテンツ パイプライン][全般] の順にクリックし、[Convert to pre-multiplied alpha format] (前乗算されたアルファ形式に変換) プロパティを [はい (/generatepremultipliedalpha)] に設定します。On the Configuration Properties, Image Content Pipeline, General page, set the Convert to pre-multiplied alpha format property to Yes (/generatepremultipliedalpha).

  5. MIPMAP が生成されないように、イメージ コンテンツ パイプラインを構成します。Configure the image content pipeline so that it doesn't generate mipmaps. [構成プロパティ] で、[イメージ コンテンツ パイプライン][全般] ページの順にクリックし、[MIPS の生成][いいえ] に設定します。On the Configuration Properties, Image Content Pipeline, General page, set the Generate Mips property to No.

  6. [OK] を選択します。Choose the OK button.

    プロジェクトをビルドすると、イメージ コンテンツ パイプラインによってソース イメージが作業形式から、指定した出力形式に変換されます。同時に、前乗算されたアルファが生成されます。結果はプロジェクトの出力ディレクトリにコピーされます。When you build the project, the Image Content Pipeline converts the source image from the working format to the output format that you specified—conversion includes generation of premultiplied alpha—and the result is copied to the project's output directory.