Platform SDK: DirectX |
単色でサーフェス全体または一部を埋めるには、DDBLT_COLORFILL フラグと共に IDirectDrawSurface7::Blt メソッドを使用する。この技術により、すばやく領域を消去したり、固定色のバックグラウンドを描画できる。
次に示す例では、ピクセル フォーマットから青の数値を取得した後に、青色でサーフェス全体を埋める。
/* lpDDS が IDirectDrawSurface7 インターフェイスへの 有効な値であると仮定する。 */ HRESULT ddrval; DDPIXELFORMAT ddpf; ddpf.dwSize = sizeof(ddpf); if (SUCCEEDED(lpDSS->GetPixelFormat(&ddpf)) { DDBLTFX ddbltfx; ddbltfx.dwSize = sizeof(ddbltfx); ddbltfx.dwFillColor = ddpf.dwBBitMask; // 純粋な青。 ddrval = lpDDS->Blt( NULL, // 転送先はサーフェス全体。 NULL, // 転送元サーフェスなし。 NULL, // 転送元矩形なし。 DDBLT_COLORFILL, &ddbltfx); switch(ddrval) { case DDERR_WASSTILLDRAWING: . . . case DDERR_SURFACELOST: . . . case DD_OK: . . . default: } }
単色でサーフェス全体または一部を埋めるには、DirectDrawSurface7.BltColorFill メソッドを使用する。この技術により、すばやく領域を消去したり、固定色のバックグラウンドを描画できる。