Método ID2D1RenderTarget::CreateCompatibleRenderTarget(D2D1_SIZE_F,ID2D1BitmapRenderTarget**) (d2d1.h)
Cria um destino de renderização de bitmap para uso durante o desenho intermediário fora da tela que é compatível com o destino de renderização atual.
Sintaxe
HRESULT CreateCompatibleRenderTarget(
D2D1_SIZE_F desiredSize,
ID2D1BitmapRenderTarget **bitmapRenderTarget
);
Parâmetros
desiredSize
Tipo: [in] D2D1_SIZE_F
O tamanho desejado do novo destino de renderização em pixels independentes do dispositivo. O tamanho do pixel é calculado do tamanho desejado usando o DPI de destino pai. Se o desiredSize for mapeado para um tamanho de pixel inteiro, o DPI do destino de renderização compatível será o mesmo que o DPI do destino pai. Se desiredSize mapeia para um tamanho de pixel fracionário, o tamanho do pixel é arredondado para o inteiro mais próximo e o DPI para o destino de renderização compatível é ligeiramente maior que o DPI do destino de renderização pai. Em todos os casos, a coordenada (desiredSize.width, desiredSize.height) é mapeada para o canto inferior direito do destino de renderização compatível.
bitmapRenderTarget
Tipo: [out] ID2D1BitmapRenderTarget**
Quando esse método é retornado, contém um ponteiro para um ponteiro para um novo destino de renderização de bitmap. Esse parâmetro é passado sem inicialização.
Valor de retorno
Se esse método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Observações
O destino de renderização de bitmap criado por esse método não é compatível com GDI.
Exemplos
O exemplo a seguir usa o método CreateCompatibleRenderTarget para criar um ID2D1BitmapRenderTarget e o usa para desenhar um padrão de grade. O padrão de grade é usado como a origem de um ID2D1BitmapBrush de.
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;
}
O exemplo de código a seguir usa o pincel para pintar um padrão.
// Paint a grid background.
m_pRenderTarget->FillRectangle(
D2D1::RectF(0.0f, 0.0f, renderTargetSize.width, renderTargetSize.height),
m_pGridPatternBitmapBrush
);
O código foi omitido deste exemplo.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 7, Windows Vista com SP2 e Atualização de Plataforma para Windows Vista [aplicativos da área de trabalho | Aplicativos UWP] |
servidor com suporte mínimo | Windows Server 2008 R2, Windows Server 2008 com SP2 e Atualização de Plataforma para Windows Server 2008 [aplicativos da área de trabalho | Aplicativos UWP] |
da Plataforma de Destino | Windows |
cabeçalho | d2d1.h |
biblioteca | D2d1.lib |
de DLL | D2d1.dll |