1

.net で画像に描画する最速の方法は何ですか?

Windowsフォームコントロールにある別の画像の上に画像を描画しようとしています。ループを使用して直接描画しようとすると、Eon がかかることがわかっています。

私が聞いたオプションは、GDI+、Direct Draw、または DX10 です。固定サイズのビットマップから始めて、3 つ以上のオーバーレイ、レイヤーを適用した後、フォーム オブジェクトに割り当てます。

ありがとう、

4

1 に答える 1

4

オーバーレイが画像(おそらく透明度のある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ステートメントを使用して最も簡単に実行できます。

于 2009-08-17T15:05:54.060 に答える