Antarmuka ID2D1BitmapRenderTarget (d2d1.h)

Merender ke tekstur perantara yang dibuat oleh metode CreateCompatibleRenderTarget .

Warisan

Antarmuka ID2D1BitmapRenderTarget mewarisi dari ID2D1RenderTarget. ID2D1BitmapRenderTarget juga memiliki jenis anggota berikut:

Metode

Antarmuka ID2D1BitmapRenderTarget memiliki metode ini.

 
ID2D1BitmapRenderTarget::GetBitmap

Mengambil bitmap untuk target render ini. Bitmap yang dikembalikan dapat digunakan untuk operasi menggambar.

Keterangan

ID2D1BitmapRenderTarget menulis ke tekstur perantara. Ini berguna untuk membuat pola untuk digunakan dengan ID2D1BitmapBrush atau penembolokan data gambar yang akan digunakan berulang kali.

Untuk menulis langsung ke bitmap WIC sebagai gantinya, gunakan metode ID2D1Factory::CreateWicBitmapRenderTarget . Metode ini mengembalikan ID2D1RenderTarget yang menulis ke bitmap WIC yang ditentukan.

Membuat Objek ID2D1BitmapRenderTarget

Untuk membuat target render bitmap, panggil metode ID2D1RenderTarget::CreateCompatibleRenderTarget .

Seperti target render lainnya, ID2D1BitmapRenderTarget adalah sumber daya yang bergantung pada perangkat dan harus dibuat ulang ketika perangkat terkait menjadi tidak tersedia. Untuk informasi selengkapnya, lihat Gambaran Umum Sumber Daya.

Contoh

Contoh berikut menggunakan metode CreateCompatibleRenderTarget untuk membuat ID2D1BitmapRenderTarget dan menggunakannya untuk menggambar pola kisi. Pola kisi digunakan sebagai sumber 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;
}

Contoh kode berikut menggunakan kuas untuk melukis pola.

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

Kode telah dihilangkan dari contoh ini.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7, Windows Vista dengan SP2 dan Pembaruan Platform untuk Windows Vista [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008 R2, Windows Server 2008 dengan SP2 dan Pembaruan Platform untuk Windows Server 2008 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header d2d1.h

Lihat juga

CreateCompatibleRenderTarget

ID2D1Factory::CreateWicBitmapRenderTarget

ID2D1RenderTarget