METODE ID2D1RenderTarget::CreateCompatibleRenderTarget(D2D1_SIZE_F,ID2D1BitmapRenderTarget**) (d2d1.h)

Membuat target render bitmap untuk digunakan selama gambar di luar layar menengah yang kompatibel dengan target render saat ini.

Sintaks

HRESULT CreateCompatibleRenderTarget(
  D2D1_SIZE_F             desiredSize,
  ID2D1BitmapRenderTarget **bitmapRenderTarget
);

Parameter

desiredSize

Jenis: [in] D2D1_SIZE_F

Ukuran yang diinginkan dari target render baru dalam piksel independen perangkat. Ukuran piksel dihitung dari ukuran yang diinginkan menggunakan DPI target induk. Jika peta DesiredSize ke ukuran piksel bilangan bulat, DPI target render yang kompatibel sama dengan DPI target induk. Jika desiredSize memetakan ke ukuran fraksional-piksel, ukuran piksel dibulatkan ke bilangan bulat terdekat dan DPI untuk target render yang kompatibel sedikit lebih tinggi daripada DPI target render induk. Dalam semua kasus, peta koordinat (desiredSize.width, desiredSize.height) ke sudut kanan bawah target render yang kompatibel.

bitmapRenderTarget

Jenis: [out] ID2D1BitmapRenderTarget**

Ketika metode ini kembali, berisi penunjuk ke penunjuk ke target render bitmap baru. Parameter ini diteruskan tanpa diinisialisasi.

Mengembalikan nilai

Jenis: HRESULT

Jika metode ini berhasil, metode ini mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.

Keterangan

Target render bitmap yang dibuat oleh metode ini tidak kompatibel dengan GDI.

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
Pustaka D2d1.lib
DLL D2d1.dll

Lihat juga

ID2D1RenderTarget

Format Piksel dan Mode Alfa yang Didukung