2009-08-17 72 views
1

在.net中繪製圖像的最快方法是什麼?在windows窗體中的圖像上繪製覆蓋圖的最快方法

我想繪製一個圖像在Windows窗體控件中的另一個圖像的頂部。我知道,當我試圖直接使用循環繪製它需要一個Eon。

我聽過的選項有GDI +,Direct Draw或DX10。我從一個固定大小的位圖開始,在將它分配給一個表單對象之前,對它應用了3個以上的疊加層。

感謝,

回答

4

如果你的覆蓋是圖像(也許是PNG圖像的透明度),那麼通用的技術是從該映像創建一個圖形對象上,你想畫,然後渲染其他圖像在它正是如此:

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對象來呈現你想要什麼上圖片。在完成任務後,務必確保處理任何一次性用品。這是使用聲明最容易完成的。