2009-05-22 129 views
1

我已經使用了多種技術,在過去畫在Windows.Forms的圖像,現在我重新訪問手柄呈現皮膚圖像對我們產品的一些核心庫。我特別感興趣的是多次渲染相同的圖像(平鋪)來表示背景控件的字段。假設圖像大小正確(不需要縮放),並且只包含要平鋪的部分,那麼最快的方法是將圖像繪製到屏幕上?在Windows.Forms中繪製圖像的最快方法是什麼?

一個我使用的優化是圖像轉換爲PixelFormat.Format32bpp P ARGB其中一些預先計算所述α信道。

是否存在的DrawImage和DrawImageUnscaled之間的性能差異?

尋找現實世界的經驗,而不是記錄的預期。

更新:在挖掘框架類後,我看到Control類使用TextureBrush使用圖像進行平鋪。這看起來有希望。

回答

1

如果你願意的P/Invoke,BitBlt。如果沒有,DrawImageUnscaled就好了。

+0

DrawImageUnscaled實際上縮放圖像...怎麼能比的DrawImage快? – 2009-05-22 20:47:24

相關問題