Win32 API 日本語リファレンス
ホームGraphics.Direct2D › D2D1_BITMAP_OPTIONS

D2D1_BITMAP_OPTIONS

列挙型フラグ
基底型i4

メンバー 5

名前10進16進説明
D2D1_BITMAP_OPTIONS_NONE00x0ビットマップは既定のプロパティで作成されます。
D2D1_BITMAP_OPTIONS_TARGET10x1ビットマップをデバイス コンテキストのターゲットとして使用できます。
D2D1_BITMAP_OPTIONS_CANNOT_DRAW20x2ビットマップを入力として使用することはできません。
D2D1_BITMAP_OPTIONS_CPU_READ40x4ビットマップを CPU から読み取ることができます。
D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE80x8

ビットマップは ID2D1GdiInteropRenderTarget::GetDC と連携して動作します。

メモ このフラグは Windows ストア アプリでは使用できません。

公式ドキュメント

ビットマップをどのように使用できるかを指定します。

解説(Remarks)

D2D1_BITMAP_OPTIONS_NONE は、いずれのフラグも設定されていないことを意味します。つまり、そのビットマップは描画元として使用できますが、ターゲットとして設定することはできず、CPU から読み取ることもできません。

D2D1_BITMAP_OPTIONS_TARGET は、そのビットマップを ID2D1DeviceContext::SetTarget でターゲットとして指定できることを意味します。D2D1_BITMAP_OPTIONS_CANNOT_DRAW フラグも同時に指定した場合、そのビットマップはターゲットとして使用できますが、描画元としては使用できません。両方のフラグが設定されたビットマップで描画しようとすると、デバイス コンテキストは D2DERR_BITMAP_CANNOT_DRAW でエラー状態になります。

D2D1_BITMAP_OPTIONS_CPU_READ は、そのビットマップを ID2D1Bitmap1::Map を使用してマップできることを意味します。このフラグには D2D1_BITMAP_OPTIONS_CANNOT_DRAW が必要であり、他のどのフラグとも組み合わせることはできません。ビットマップは CopyFromBitmap メソッドまたは CopyFromRenderTarget メソッドで更新する必要があります。

メモ D2D1_BITMAP_OPTIONS_CANNOT_DRAW を使用するのは、ビットマップの用途がターゲット専用である場合、またはビットマップをマップする場合だけにしてください。
D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE は、このビットマップに関連付けられた DC を取得できることを意味します。これは D2D1_BITMAP_OPTIONS_TARGET と組み合わせて使用しなければなりません。DXGI_FORMATDXGI_FORMAT_B8G8R8A8_UNORM または DXGI_FORMAT_B8G8R8A8_UNORM_SRGB のいずれかでなければなりません。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

各言語での定義

列挙メンバーの定義。HSP タブは #define global(値は16進)。

typedef enum D2D1_BITMAP_OPTIONS : int {
    D2D1_BITMAP_OPTIONS_NONE = 0,
    D2D1_BITMAP_OPTIONS_TARGET = 1,
    D2D1_BITMAP_OPTIONS_CANNOT_DRAW = 2,
    D2D1_BITMAP_OPTIONS_CPU_READ = 4,
    D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE = 8
} D2D1_BITMAP_OPTIONS;
[Flags]
public enum D2D1_BITMAP_OPTIONS : int
{
    D2D1_BITMAP_OPTIONS_NONE = 0,
    D2D1_BITMAP_OPTIONS_TARGET = 1,
    D2D1_BITMAP_OPTIONS_CANNOT_DRAW = 2,
    D2D1_BITMAP_OPTIONS_CPU_READ = 4,
    D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE = 8,
}
<Flags>
Public Enum D2D1_BITMAP_OPTIONS As Integer
    D2D1_BITMAP_OPTIONS_NONE = 0
    D2D1_BITMAP_OPTIONS_TARGET = 1
    D2D1_BITMAP_OPTIONS_CANNOT_DRAW = 2
    D2D1_BITMAP_OPTIONS_CPU_READ = 4
    D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE = 8
End Enum
import enum

class D2D1_BITMAP_OPTIONS(enum.IntFlag):
    D2D1_BITMAP_OPTIONS_NONE = 0
    D2D1_BITMAP_OPTIONS_TARGET = 1
    D2D1_BITMAP_OPTIONS_CANNOT_DRAW = 2
    D2D1_BITMAP_OPTIONS_CPU_READ = 4
    D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE = 8
// D2D1_BITMAP_OPTIONS (flags)
pub const D2D1_BITMAP_OPTIONS_NONE: i32 = 0;
pub const D2D1_BITMAP_OPTIONS_TARGET: i32 = 1;
pub const D2D1_BITMAP_OPTIONS_CANNOT_DRAW: i32 = 2;
pub const D2D1_BITMAP_OPTIONS_CPU_READ: i32 = 4;
pub const D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE: i32 = 8;
// D2D1_BITMAP_OPTIONS
const (
	D2D1_BITMAP_OPTIONS_NONE int32 = 0
	D2D1_BITMAP_OPTIONS_TARGET int32 = 1
	D2D1_BITMAP_OPTIONS_CANNOT_DRAW int32 = 2
	D2D1_BITMAP_OPTIONS_CPU_READ int32 = 4
	D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE int32 = 8
)
const
  D2D1_BITMAP_OPTIONS_NONE = 0;
  D2D1_BITMAP_OPTIONS_TARGET = 1;
  D2D1_BITMAP_OPTIONS_CANNOT_DRAW = 2;
  D2D1_BITMAP_OPTIONS_CPU_READ = 4;
  D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE = 8;
// D2D1_BITMAP_OPTIONS
pub const D2D1_BITMAP_OPTIONS_NONE: i32 = 0;
pub const D2D1_BITMAP_OPTIONS_TARGET: i32 = 1;
pub const D2D1_BITMAP_OPTIONS_CANNOT_DRAW: i32 = 2;
pub const D2D1_BITMAP_OPTIONS_CPU_READ: i32 = 4;
pub const D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE: i32 = 8;
const
  D2D1_BITMAP_OPTIONS_NONE* = 0
  D2D1_BITMAP_OPTIONS_TARGET* = 1
  D2D1_BITMAP_OPTIONS_CANNOT_DRAW* = 2
  D2D1_BITMAP_OPTIONS_CPU_READ* = 4
  D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE* = 8
enum D2D1_BITMAP_OPTIONS : int {
    D2D1_BITMAP_OPTIONS_NONE = 0,
    D2D1_BITMAP_OPTIONS_TARGET = 1,
    D2D1_BITMAP_OPTIONS_CANNOT_DRAW = 2,
    D2D1_BITMAP_OPTIONS_CPU_READ = 4,
    D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE = 8,
}
#define global D2D1_BITMAP_OPTIONS_NONE           0x0
#define global D2D1_BITMAP_OPTIONS_TARGET         0x1
#define global D2D1_BITMAP_OPTIONS_CANNOT_DRAW    0x2
#define global D2D1_BITMAP_OPTIONS_CPU_READ       0x4
#define global D2D1_BITMAP_OPTIONS_GDI_COMPATIBLE 0x8
; ※フラグ列挙型。ビットORで組み合わせ可(例: FOO|BAR)。