現在、GDI + UniScribeの古いコンポーネントの描画コードをDirect2DとDirectWrite(後継者)に置き換えようとしています。TDirect2DCanvasにTImageListグリフを描画する
私がする必要があるのは、Canvas(クラスTCanvas)への呼び出しをカスタムFDirect2DCanvasインスタンス(ユニットDirect2DからのクラスTDirect2DCanvas)に置き換えるだけだったので、これまでの移行は簡単でした。
残念ながら、TImageListインスタンスからグリフをFDirect2DCanvasに描画しようとすると、描画メソッドがTCanvasのみで、TCustomCanvas(TCanvasとTCanvasの両方の祖先ではありません)が意味を持ちます。 TDirect2DCanvas)。
このジレンマの解決策は、TImageListグリフを一時ビットマップに描画し、これをTDirect2DCanvasに描画することです。しかし、これはおそらく描画性能を大きく低下させる恐れがあります。
今までこれまで行った人はいますか?どのようなオプションがありますか?