Bagikan melalui


Kelas InkD2DRenderer

Mengimplementasikan antarmuka IInkD2DRenderer .

Objek IInkD2DRenderer memungkinkan penyajian goresan tinta ke konteks perangkat Direct2D yang ditunjuk dari aplikasi Universal Windows, alih-alih kontrol InkCanvas default.

Anggota

Kelas InkD2DRenderer mewarisi dari antarmuka IUnknown . InkD2DRenderer juga memiliki jenis anggota ini:

Metode

Kelas InkD2DRenderer memiliki metode ini.

Metode Deskripsi
Tarik Merender goresan tinta ke konteks perangkat Direct2D yang ditunjuk dari aplikasi.

Creation\Access Functions

Panggil CoCreateInstance dengan pengidentifikasi kelas InkD2DRenderer untuk mengambil referensi ke objek.

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

Contoh

Cuplikan ini dari file "SceneComposer.cpp" dari sampel tinta Kompleks menunjukkan penyajian koleksi goresan tinta ke konteks perangkat Direct2D.

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

Cuplikan ini dari file "InkRenderer.cpp" dari sampel tinta Kompleks menunjukkan metode Render (disebut dalam cuplikan sebelumnya) yang memanggil metode Draw untuk merender goresan.

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

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung
Windows 10 [khusus aplikasi desktop]
Server minimum yang didukung
Tidak ada yang didukung
Header
Inkrenderer.h
IDL
Inkrenderer.idl
IID
IID_IInkD2DRenderer didefinisikan sebagai 4044e60c-7b01-4671-a97c-04e0210a07a5

Perender tinta, Interaksi pena dan stylus, sampel Analisis Tinta, Sampel penintaan sederhana, Sampel penintaan kompleks