实现 IInkD2DRenderer 接口。
IInkD2DRenderer 对象允许将墨迹笔划呈现到通用 Windows 应用的指定 Direct2D 设备上下文,而不是默认的 InkCanvas 控件。
成员
InkD2DRenderer 类继承自 IUnknown 接口。 InkD2DRenderer 还具有以下类型的成员:
方法
InkD2DRenderer 类具有这些方法。
| 方法 | DESCRIPTION |
|---|---|
| 绘图 | 将墨迹笔划呈现到应用的指定 Direct2D 设备上下文。 |
创建\访问函数
使用类标识符 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”文件中的此代码片段显示了调用 Draw 方法来呈现笔划的 Render 方法(在上一片段中调用)。
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 |