共用方式為


InkD2DRenderer 類別

實作 IInkD2DRenderer 介面。

IInkD2DRenderer物件可讓您將筆墨筆劃轉譯到通用 Windows app 的指定 Direct2D 裝置內容,而不是預設的 InkCanvas控制項。

成員

InkD2DRenderer類別繼承自IUnknown介面。 InkD2DRenderer 也有下列類型的成員:

方法

InkD2DRenderer類別具有這些方法。

方法 Description
Draw 將筆墨筆劃轉譯至應用程式的指定 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 [僅限傳統型應用程式]
最低支援的伺服器
都不支援
標頭
Inkrenderer.h
Idl
Inkrenderer.idl
IID
IID_IInkD2DRenderer定義為 4044e60c-7b01-4671-a97c-04e0210a07a5

筆跡轉譯器畫筆和手寫筆互動筆跡分析範例簡單筆跡範例複雜筆跡範例