.net で画像に描画する最速の方法は何ですか?
Windowsフォームコントロールにある別の画像の上に画像を描画しようとしています。ループを使用して直接描画しようとすると、Eon がかかることがわかっています。
私が聞いたオプションは、GDI+、Direct Draw、または DX10 です。固定サイズのビットマップから始めて、3 つ以上のオーバーレイ、レイヤーを適用した後、フォーム オブジェクトに割り当てます。
ありがとう、
.net で画像に描画する最速の方法は何ですか?
Windowsフォームコントロールにある別の画像の上に画像を描画しようとしています。ループを使用して直接描画しようとすると、Eon がかかることがわかっています。
私が聞いたオプションは、GDI+、Direct Draw、または DX10 です。固定サイズのビットマップから始めて、3 つ以上のオーバーレイ、レイヤーを適用した後、フォーム オブジェクトに割り当てます。
ありがとう、
オーバーレイが画像(おそらく透明度のあるPNG画像)の場合、一般的な手法は、描画する画像からGraphicsオブジェクトを作成し、他の画像をその上にレンダリングすることです。
Bitmap b1 = (Bitmap) Bitmap.FromFile("bitmap1.bmp");
Bitmap b2 = (Bitmap)Bitmap.FromFile("bitmap2.bmp");
Bitmap b3 = (Bitmap)Bitmap.FromFile("bitmap3.bmp");
using (Graphics g = Graphics.FromImage(b1))
{
g.DrawImage(b2, new Point(0, 0));
g.DrawImage(b3, new Point(50, 50));
}
オーバーレイが描画されたオブジェクト(テキスト、線、形状など)である場合は、適切なブラシとペンを作成または取得し、Graphicsオブジェクトを使用して必要なものを画像にレンダリングします。使い捨て品を使い終わったら、必ず廃棄してください。これは、usingステートメントを使用して最も簡単に実行できます。