次の方法で共有


InkPresenter.ActivateCustomDrying メソッド

定義

アプリでインク入力のレンダリングを完全に制御する必要があることを示します。

既定では、手書き入力は低待機時間のバックグラウンド スレッドで処理され、描画と同時に "ウェット" レンダリングが行われます。 ストロークが完了すると (ペンまたは指が持ち上げられたり、マウス ボタンが離されたりした場合)、ストロークは UI スレッドで処理され、レンダリング レイヤーに "ドライ" レンダリングされます (アプリケーションコンテンツの上に、ウェット インクを置き換えます)。

InkPresenter ホスティング モデル

InkCanvas

ActivateCustomDrying を (InkCanvas が読み込まれる前に) 呼び出すと、SurfaceImageSource または VirtualSurfaceImageSource へのインク ストロークのドライ レンダリングの方法をカスタマイズするための InkSynchronizer オブジェクトが作成されます。 たとえば、インク ストロークをラスタライズしてアプリケーション コンテンツに (別の InkCanvas レイヤーとしてではなく) 統合することができます。

InkDesktopHost (Windows 10 バージョン 1511 以降)

Win32 アプリでは、DirectComposition ビジュアル ツリーを使用して InkDesktopHostInkPresenter をホストできます。

これには、インク入力を管理するために IInkD2DRenderer オブジェクトが必要です ( 「複雑なインクサンプル」を参照してください)。

CoreInkPresenterHost (Windows 10 Fall Creators Update 以降)

独自の Windows で InkPresenter をホスト します。Ui。InkCanvas コントロールが関連付けられていないコンポジション ツリー。

public:
 virtual InkSynchronizer ^ ActivateCustomDrying() = ActivateCustomDrying;
InkSynchronizer ActivateCustomDrying();
public InkSynchronizer ActivateCustomDrying();
function activateCustomDrying()
Public Function ActivateCustomDrying () As InkSynchronizer

戻り値

カスタム インク ストロークレンダリングに使用される オブジェクト。

注釈

エラー コード

E_ILLEGAL_METHOD_CALL (0x8000000E)

InkCanvas の読み込み後に ActivateCustomDrying が呼び出された場合にスローされます。

InkCanvas を読み込む前に、このメソッドを呼び出す必要があります。

カスタム乾燥と InkToolbar
既定では、手書き入力は低待機時間のバックグラウンド スレッドで処理され、描画と同時に "ウェット" レンダリングが行われます。 ストロークが完了すると (ペンまたは指が画面を離れるか、マウスのボタンが離されると)、UI スレッドでストロークが処理されて、InkCanvas レイヤーへの "ドライ" レンダリングが行われます (アプリケーション コンテンツの上にレンダリングされてウェット インクが置き換えられます)。 インク プラットフォームでは、この動作を上書きして、手書き入力のカスタム ドライ レンダリングによって手書き入力エクスペリエンスを全面的にカスタマイズすることができます。

アプリが InkPresenter の既定のインク レンダリング動作をカスタム乾燥実装でオーバーライドした場合、レンダリングされたインク ストロークは InkToolbar で使用できなくなり、 InkToolbar の組み込みの消去コマンドは期待どおりに機能しません。 消去機能を提供するには、すべてのポインター イベントを処理し、ストロークごとにヒット テストを実行すると共に、組み込みの [すべてのインクのデータを消去] コマンドをオーバーライドする必要があります。

カスタム ドライ レンダリングについて詳しくは、「UWP アプリでのペン操作と Windows Ink」をご覧ください。

適用対象

こちらもご覧ください