實作 IInkD2DRenderer 介面。
IInkD2DRenderer 物件可讓您將筆墨筆劃轉譯到通用 Windows app 的指定 Direct2D 裝置內容,而不是預設 InkCanvas 控件。
成員
InkD2DRenderer 類別繼承自 IUnknown 介面。 InkD2DRenderer 也有下列類型的成員:
方法
InkD2DRenderer 類別具有這些方法。
| 方法 | 說明 |
|---|---|
| 繪製 | 將筆跡筆劃轉譯至應用程式的指定 Direct2D 裝置內容。 |
建立\Access 函式
使用類別標識碼 InkD2DRenderer 呼叫 CoCreateInstance 以擷取對象的參考。
CoCreateInstance(__uuidof(InkD2DRenderer),
nullptr,
CLSCTX_INPROC_SERVER,
IID_PPV_ARGS(&_spInkD2DRenderer));
範例
來自複雜筆跡範例之「SceneComposer.cpp」檔案的這個代碼段示範如何將筆墨筆劃集合轉譯至 Direct2D 裝置內容。
_inkRenderer->Render(strokes, _deviceResources->GetD2DDeviceContext());
strokes->Clear();
複雜筆跡範例 「InkRenderer.cpp」 檔案中的這個代碼段會顯示 Render 方法(在先前代碼段中呼叫),該方法會呼叫 Draw 方法來轉譯筆劃。
void InkRenderer::Render(
Platform::Collections::Vector<
Windows::UI::Input::Inking::InkStroke^>^ strokes,
Microsoft::WRL::ComPtr<ID2D1DeviceContext> d2dContext)
{
HRESULT hr = S_OK;
if (_spInkD2DRenderer != nullptr)
{
if (strokes != nullptr && strokes->Size > 0)
{
// Cast the stroke collection into IUnknown to call Inkd2dRenderer
ComPtr<IUnknown> spUnkStrokes =
reinterpret_cast<IUnknown*>(reinterpret_cast<__abi_IUnknown*>(strokes));
hr = _spInkD2DRenderer->Draw(d2dContext.Get(), spUnkStrokes.Get(), false);
if (FAILED(hr))
{
DX::ThrowIfFailed(hr);
}
}
}
}
需求
| 要求 | 價值觀 |
|---|---|
| 最低支援的用戶端 |
Windows 10 [僅限桌面應用程式] |
| 最低支援的伺服器 |
不支援 |
| 頁首 |
|
| IDL |
|
| IID |
IID_IInkD2DRenderer定義為 4044e60c-7b01-4671-a97c-04e0210a07a5 |