Поделиться через


Методы ID2D1RenderTarget::CreateCompatibleRenderTarget

Создает новый целевой объект отрисовки точечного рисунка для использования во время промежуточного отрисовки вне экрана, совместимого с текущим целевым объектом отрисовки .

Список перегрузки

Метод Описание
CreateCompatibleRenderTarget(D2D1_SIZE_F;D2D1_SIZE_U;D2D1_PIXEL_FORMAT;D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS;ID2D1BitmapRenderTarget**) Создает целевой объект отрисовки точечного рисунка для использования во время промежуточного рисования вне экрана, совместимого с текущим целевым объектом отрисовки.
CreateCompatibleRenderTarget(D2D1_SIZE_F*;D2D1_SIZE_U*;D2D1_PIXEL_FORMAT*;D2D1_COMPATIBLE_RENDER_TARGET_OPTIONS;ID2D1BitmapRenderTarget**) Создает целевой объект отрисовки точечного рисунка для использования во время промежуточного рисования вне экрана, совместимого с текущим целевым объектом отрисовки.
CreateCompatibleRenderTarget(ID2D1BitmapRenderTarget**) Создает новый целевой объект отрисовки растрового рисунка для использования во время промежуточного рисования вне экрана, который совместим с текущим целевым объектом отрисовки и имеет тот же размер, разрешение и формат пикселей (но не в альфа-режиме), что и текущий целевой объект отрисовки.
CreateCompatibleRenderTarget(D2D1_SIZE_F;ID2D1BitmapRenderTarget**) Создает новый целевой объект отрисовки растрового рисунка для использования во время промежуточного отрисовки, совместимый с текущим целевым объектом отрисовки и имеющий тот же формат пикселей (но не в альфа-режиме), что и текущий целевой объект отрисовки.
CreateCompatibleRenderTarget(D2D1_SIZE_F;D2D1_SIZE_U;ID2D1BitmapRenderTarget**) Создает целевой объект отрисовки растрового рисунка для использования во время промежуточного рисования вне экрана, совместимого с текущим целевым объектом отрисовки. Новый целевой объект отрисовки растрового рисунка имеет тот же формат пикселей (но не альфа-режим), что и текущий целевой объект отрисовки.
CreateCompatibleRenderTarget(D2D1_SIZE_F;D2D1_SIZE_U;D2D1_PIXEL_FORMAT;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
    );

Код в этом примере опущен.

Требования

Требование Значение
Заголовок
D2d1.h
Библиотека
D2d1.lib
DLL
D2d1.dll

См. также раздел

ID2D1RenderTarget