Partilhar via


Classe InkD2DRenderer

Implementa a interface IInkD2DRenderer .

Um objeto IInkD2DRenderer permite a renderização de traços de tinta no contexto de dispositivo Direct2D designado de um aplicativo Universal do Windows, em vez do controle InkCanvas padrão.

Membros

A classe InkD2DRenderer herda da interface IUnknown . O InkD2DRenderer também tem estes tipos de membros:

Métodos

A classe InkD2DRenderer tem esses métodos.

Método Descrição
Draw Renderiza o traço de tinta para o Direct2D contexto de dispositivo designado do aplicativo.

Criação\Funções de Acesso

Chame CoCreateInstance com o identificador de classe InkD2DRenderer para recuperar uma referência ao objeto .

CoCreateInstance(__uuidof(InkD2DRenderer),
  nullptr,
  CLSCTX_INPROC_SERVER,
  IID_PPV_ARGS(&_spInkD2DRenderer));

Exemplos

Esse snippet do arquivo "SceneComposer.cpp" da amostra de escrita à tinta Complexa demonstra a renderização de uma coleção de traços de tinta em um contexto de dispositivo Direct2D.

_inkRenderer->Render(strokes, _deviceResources->GetD2DDeviceContext());
strokes->Clear();

Esse snippet do arquivo "InkRenderer.cpp" do exemplo de escrita à tinta Complexa mostra o método Render (chamado no snippet anterior) que chama o método Draw para renderizar os traços.

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);
            }
        }
    }
}

Requisitos

Requisito Valor
Cliente mínimo com suporte
Windows 10 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte
Nenhum compatível
Cabeçalho
Inkrenderer.h
IDL
Inkrenderer.idl
IID
IID_IInkD2DRenderer é definido como 4044e60c-7b01-4671-a97c-04e0210a07a5

Interações de renderizador de tinta, caneta e caneta, exemplo de Análise de Tinta, exemplo de escrita à tinta simples, exemplo de escrita à tinta complexa