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**) | 建立新的點陣圖轉譯目標,以在與目前轉譯目標相容的中繼螢幕繪圖期間使用,且大小、DPI 和像素格式相同 (,但不會) 為目前的轉譯目標。 |
CreateCompatibleRenderTarget (D2D1_SIZE_F,ID2D1BitmapRenderTarget**) | 建立新的點陣圖轉譯目標,以在與目前轉譯目標相容的中繼螢幕繪圖期間使用,且具有與目前轉譯目標相同的像素格式 (,但不是 Alpha 模式) 。 |
CreateCompatibleRenderTarget (D2D1_SIZE_F,D2D1_SIZE_U,ID2D1BitmapRenderTarget**) | 建立點陣圖轉譯目標,以在與目前轉譯目標相容的中繼螢幕外繪圖期間使用。 新的點陣圖轉譯目標具有與目前轉譯目標相同的像素格式 (,但不是 Alpha 模式) 。 |
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
);
此範例中已省略程式碼。
規格需求
需求 | 值 |
---|---|
標頭 |
|
程式庫 |
|
DLL |
|
另請參閱
�
�