Platform SDK: DirectX

カラー フィル

[C++]

単色でサーフェス全体または一部を埋めるには、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: 
    } 
}
[Visual Basic]

単色でサーフェス全体または一部を埋めるには、DirectDrawSurface7.BltColorFill メソッドを使用する。この技術により、すばやく領域を消去したり、固定色のバックグラウンドを描画できる。