0

私は、いくつかのレイヤーからいくつかの形状を描くプロジェクトを持っています。たとえば、円レイヤーに 2 つの円、四角形レイヤーに 3 つの四角形などがあります。呼び出し Layer.Draw で結果を描画し、レイヤーの結果を Graphics オブジェクトとマージします。ピクチャ ボックスで 1 つのシェイプを選択し、レイヤーで指定できます。そして、レイヤーを再描画してドラッグし、グラフィックスですべて再マージできます.それは機能します! しかし遅すぎる!!

どうすればこれを最適化できますか?

4

2 に答える 2

1

古いソリューションでは、形状をlayer.imageに描画し、ペイントイベントでそれらをe.Graphicとマージします。グラフィックオブジェクトをレイヤーに渡し、それを使用して形状を描画することで、この問題を解決します。私のプログラムはとてもうまくいきます!

于 2009-11-07T14:51:17.800 に答える
0

むかしむかし、画像を描画する際の速度が必要なプロジェクトがありました。ロック解除方法を使用してビットに直接アクセスしました ( http://msdn.microsoft.com/en-us/library/system.drawing.bitmap.unlockbits.aspx )。しかし、この方法は非常に危険で複雑なので、できる限り避けるべきです。

プログラムを最適化し、不要な描画を削除してみてください。GUI への主要な描画は非常に遅いため、ピクチャ ボックスを永続的に更新するのではなく、必要な場合にのみ更新してください。

于 2009-10-18T08:49:56.520 に答える