Freigeben über


ID2D1BitmapRenderTarget::GetBitmap-Methode (d2d1.h)

Ruft die Bitmap für dieses Renderziel ab. Die zurückgegebene Bitmap kann für Zeichnungsvorgänge verwendet werden.

Syntax

HRESULT GetBitmap(
  [out] ID2D1Bitmap **bitmap
);

Parameter

[out] bitmap

Typ: ID2D1Bitmap**

Wenn diese Methode zurückgibt, enthält die Adresse eines Zeigers auf die Bitmap für dieses Renderziel. Diese Bitmap kann für Zeichnungsvorgänge verwendet werden.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein HRESULT-Fehlercode zurückgegeben.

Hinweise

Der DPI-Wert für die ID2D1Bitmap , die von GetBitmap abgerufen wurde, ist der DPI-Wert von ID2D1BitmapRenderTarget , als das Renderziel erstellt wurde. Das Ändern des DPI-Werts von ID2D1BitmapRenderTarget durch Aufrufen von SetDpi wirkt sich nicht auf den DPI-Wert der Bitmap aus, auch wenn SetDpi vor GetBitmap aufgerufen wird. Die Verwendung von SetDpi zum Ändern des DPI-Werts von ID2D1BitmapRenderTarget wirkt sich darauf aus, wie Inhalte in der Bitmap gerendert werden: Dies wirkt sich einfach nicht auf den DPI-Wert der bitmap aus, die von GetBitmap abgerufen wird.

Beispiele

Im folgenden Beispiel wird die CreateCompatibleRenderTarget-Methode zum Erstellen eines ID2D1BitmapRenderTarget-Objekts und zum Zeichnen eines Rastermusters verwendet. Das Rastermuster wird als Quelle eines ID2D1BitmapBrush verwendet.

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;
}

Im folgenden Codebeispiel wird der Pinsel verwendet, um ein Muster zu zeichnen.

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

Code wurde aus diesem Beispiel weggelassen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 7, Windows Vista mit SP2 und Plattformupdate für Windows Vista [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 R2, Windows Server 2008 mit SP2 und Plattformupdate für Windows Server 2008 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile d2d1.h
Bibliothek D2d1.lib
DLL D2d1.dll

Weitere Informationen

ID2D1BitmapRenderTarget