我用过一次的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