Поделиться через


Класс InkD2DRenderer

Реализует интерфейс IInkD2DRenderer .

Объект IInkD2DRenderer позволяет выполнять отрисовку росчерков рукописного ввода в назначенном контексте устройства Direct2D универсального приложения для Windows вместо элемента управления InkCanvas по умолчанию.

Элементы

Класс InkD2DRenderer наследуется от интерфейса IUnknown . InkD2DRenderer также имеет следующие типы элементов:

Методы

Класс InkD2DRenderer содержит эти методы.

Метод Описание
Draw Отрисовывает росчерк рукописного ввода в назначенном контексте устройства Direct2D приложения.

Создание\Access Functions

Вызовите CoCreateInstance с идентификатором класса InkD2DRenderer , чтобы получить ссылку на объект .

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

Отрисовщик рукописного ввода, взаимодействие пера и пера, пример анализа рукописного ввода, пример простого рукописного ввода, пример сложного рукописного ввода