我用過一次的BitBlt到屏幕截圖保存爲圖像文件(.NET Compact Framework的V3.5的Windows Mobile 2003及更高版本)。工作很好。現在我想繪製一個位圖到一個窗體。我可以用this.CreateGraphics().DrawImage(mybitmap, 0, 0)
,但我想知道它是否會與BitBlt的工作像以前一樣,只是換了PARAMS。所以我寫了:從位圖C#象素數據控制(Compact Framework的)
[DllImport("coredll.dll")]
public static extern int BitBlt(IntPtr hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, IntPtr hdcSrc, int nXSrc, int nYSrc, uint dwRop);
(進一步回落:)
IntPtr hb = mybitmap.GetHbitmap();
BitBlt(this.Handle, 0, 0, mybitmap.Width, mybitmap.Height, hb, 0, 0, 0x00CC0020);
但形式保持純白色。這是爲什麼?我承諾的錯誤在哪裏? 感謝您的意見。歡呼聲中,大衛
一個小評論:)你不應該對HDC的你從兩個圖形對象得到調用ReleaseHdc()? – Matt 2010-01-14 06:45:29