2009-08-17 7 views
1

.netで画像上で最も速く描画する方法は何ですか?ウィンドウ内の画像にオーバーレイを描画する最速の方法

私はウィンドウのフォームコントロールにある別のイメージの上にイメージを描画しようとしています。ループを使って直接描画しようとすると、Eonがかかることがわかります。

私が聞いたことは、GDI +、Direct Draw、またはDX10です。私は固定サイズのビットマップから始まり、フォームオブジェクトに代入される前に、3つ以上のオーバーレイレイヤーを適用した後にレイヤーを適用します。

おかげで、

答えて

4

あなたのオーバーレイは、画像(透明度、おそらくPNG画像)である場合、一般的な技術は、他の画像をレンダリング、その後、あなたが描くしたい、その上に画像からGraphicsオブジェクトを作成することですthuslyその上に:あなたのオーバーレイは、オブジェクト(テキスト、線、図形など)を描かれている場合は

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)); 
    } 

、あなたが作成するか、または適切なブラシとペンを取得し、グラフィックスは、あなたが上に欲しいものをレンダリングするためにオブジェクトを使用します画像。いつでも使い捨て品を処分してください。これは、usingステートメントで最も簡単に実行されます。

関連する問題