Partager via


Classe InkD2DRenderer

Implémente l’interface IInkD2DRenderer .

Un objet IInkD2DRenderer permet le rendu des traits d’encre sur le contexte d’appareil Direct2D désigné d’une application Windows universelle, au lieu du contrôle InkCanvas par défaut.

Membres

La classe InkD2DRenderer hérite de l’interface IUnknown . InkD2DRenderer possède également les types de membres suivants :

Méthodes

La classe InkD2DRenderer possède ces méthodes.

Méthode Description
Dessin Restitue le trait d’encre dans le contexte d’appareil Direct2D désigné de l’application.

Création\Fonctions d’accès

Appelez CoCreateInstance avec l’identificateur de classe InkD2DRenderer pour récupérer une référence à l’objet.

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

Exemples

Cet extrait de code du fichier « SceneComposer.cpp » de l’exemple d’entrée manuscrite complexe illustre le rendu d’une collection de traits d’encre dans un contexte d’appareil Direct2D.

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

Cet extrait de code du fichier « InkRenderer.cpp » de l’exemple d’entrée manuscrite complexe montre la méthode Render (appelée dans l’extrait de code précédent) qui appelle la méthode Draw pour le rendu des traits.

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

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 10 [applications de bureau uniquement]
Serveur minimal pris en charge
Aucun pris en charge
En-tête
Inkrenderer.h
IDL
Inkrenderer.idl
IID
IID_IInkD2DRenderer est défini comme 4044e60c-7b01-4671-a97c-04e0210a07a5

Convertisseur d’encre, interactions entre stylet et stylet, exemple Analyse d’encre, exemple d’entrée manuscrite simple, exemple d’entrée manuscrite complexe