다음을 통해 공유


ID2D1BitmapRenderTarget 인터페이스(d2d1.h)

CreateCompatibleRenderTarget 메서드에서 만든 중간 텍스처로 렌더링합니다.

상속

ID2D1BitmapRenderTarget 인터페이스는 ID2D1RenderTarget에서 상속됩니다. ID2D1BitmapRenderTarget 에는 다음과 같은 유형의 멤버도 있습니다.

메서드

ID2D1BitmapRenderTarget 인터페이스에는 이러한 메서드가 있습니다.

 
ID2D1BitmapRenderTarget::GetBitmap

이 렌더링 대상의 비트맵을 검색합니다. 반환된 비트맵은 그리기 작업에 사용할 수 있습니다.

설명

ID2D1BitmapRenderTarget은 중간 텍스처에 씁니다. ID2D1BitmapBrush와 함께 사용할 패턴을 만들거나 반복적으로 사용될 그리기 데이터를 캐싱하는 데 유용합니다.

대신 WIC 비트맵에 직접 쓰려면 ID2D1Factory::CreateWicBitmapRenderTarget 메서드를 사용합니다. 이 메서드는 지정된 WIC 비트맵에 쓰는 ID2D1RenderTarget 을 반환합니다.

ID2D1BitmapRenderTarget 개체 만들기

비트맵 렌더링 대상을 만들려면 ID2D1RenderTarget::CreateCompatibleRenderTarget 메서드를 호출합니다.

다른 렌더링 대상과 마찬가지로 ID2D1BitmapRenderTarget 은 디바이스 종속 리소스이며 연결된 디바이스를 사용할 수 없게 되면 다시 만들어야 합니다. 자세한 내용은 리소스 개요를 참조하세요.

예제

다음 예제에서는 CreateCompatibleRenderTarget 메서드를 사용하여 ID2D1BitmapRenderTarget 을 만들고 이를 사용하여 그리드 패턴을 그립니다. 그리드 패턴은 ID2D1BitmapBrush의 원본으로 사용됩니다.

HRESULT DemoApp::CreateGridPatternBrush(
    ID2D1RenderTarget *pRenderTarget,
    ID2D1BitmapBrush **ppBitmapBrush
    )
{
    // Create a compatible render target.
    ID2D1BitmapRenderTarget *pCompatibleRenderTarget = NULL;
    HRESULT hr = pRenderTarget->CreateCompatibleRenderTarget(
        D2D1::SizeF(10.0f, 10.0f),
        &pCompatibleRenderTarget
        );
    if (SUCCEEDED(hr))
    {
        // Draw a pattern.
        ID2D1SolidColorBrush *pGridBrush = NULL;
        hr = pCompatibleRenderTarget->CreateSolidColorBrush(
            D2D1::ColorF(D2D1::ColorF(0.93f, 0.94f, 0.96f, 1.0f)),
            &pGridBrush
            );
        if (SUCCEEDED(hr))
        {
            pCompatibleRenderTarget->BeginDraw();
            pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.0f, 10.0f, 1.0f), pGridBrush);
            pCompatibleRenderTarget->FillRectangle(D2D1::RectF(0.0f, 0.1f, 1.0f, 10.0f), pGridBrush);
            pCompatibleRenderTarget->EndDraw();

            // Retrieve the bitmap from the render target.
            ID2D1Bitmap *pGridBitmap = NULL;
            hr = pCompatibleRenderTarget->GetBitmap(&pGridBitmap);
            if (SUCCEEDED(hr))
            {
                // Choose the tiling mode for the bitmap brush.
                D2D1_BITMAP_BRUSH_PROPERTIES brushProperties =
                    D2D1::BitmapBrushProperties(D2D1_EXTEND_MODE_WRAP, D2D1_EXTEND_MODE_WRAP);

                // Create the bitmap brush.
                hr = m_pRenderTarget->CreateBitmapBrush(pGridBitmap, brushProperties, ppBitmapBrush);

                pGridBitmap->Release();
            }

            pGridBrush->Release();
        }

        pCompatibleRenderTarget->Release();
    }

    return hr;
}

다음 코드 예제에서는 브러시를 사용하여 패턴을 그립니다.

// Paint a grid background.
m_pRenderTarget->FillRectangle(
    D2D1::RectF(0.0f, 0.0f, renderTargetSize.width, renderTargetSize.height),
    m_pGridPatternBitmapBrush
    );

이 예제에서는 코드를 생략합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7, Windows Vista SP2 및 Windows Vista용 플랫폼 업데이트가 포함된 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2, Windows Server 2008 SP2 및 Windows Server 2008용 플랫폼 업데이트 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 d2d1.h

추가 정보

CreateCompatibleRenderTarget

ID2D1Factory::CreateWicBitmapRenderTarget

ID2D1RenderTarget