私はタッチ スクリーン アプリケーション (WinRT) に取り組んでおり、現在画面にいくつかのグラフィックを描画しています。タッチなので、コンテンツ全体を拡大縮小するためにピンチ ツー ズームを有効にしたいと考えています。エクスペリエンスを向上させるために、ピンチ ジェスチャが完了したら、グラフィックを再描画したいだけです。中間のスケーリングでは、現在のビットマップを再利用し、(可能であれば) GPU のみのスケーリング (ビットマップの拡大) を実行したいと考えています。基本的に、iOS と Windows Phone が何年も前から行ってきたこととまったく同じことをしたいと考えています。
これを Direct2D で実装するにはどうすればよいですか?
おまけとして、Direct2D での読み取りに適したリソースをご存じでしたら教えてください。MSDN のドキュメントは非常に貧弱で、学ぶためにさまざまなブログや雑誌の記事を探す必要があります :(
私がこれまでに試したこと:
m_target->SetTransform(
D2D1::Matrix3x2F::Scale(
D2D1::Size(1.5f, 1.5f),
D2D1::Point2F(500.0f, 500.0f))
);
ただし、インタラクティブな要素 (ページのズームイン/ズームアウトなど) に対してこれを行うと、すべてのオブジェクトがレンダリングされます (これも低速です)。もう 1 つのオプションは、BITMAP に描画し、それを変換のベースとして使用することです。ただし、これが良い方法かどうかはわかりません。注: 現在、デスクトップでデバッグしていますが、タブレットをターゲットにしたいと考えています。タブレットは桁違いに遅いことを考慮する必要があります。そのため、この機能を最適化しようとしています。
ありがとう!