OpenGL窗口内容使用BitBlt没有复制出窗口的图像,是一个黑屏,大家帮忙看看啊!
使用OpenGL画出的窗口,窗口内包含了一个2D的图片,还有3D的物体,表面有2D的贴图,现在希望将整个窗口内的内容复制到BitMap中。从网上找了一下代码,运行没有问题,可是结果保存的图片文件是一个黑屏,没有任何内容。
使用Alt-PrintScreen键,内容都能够复制到剪贴板上,自己的代码怎么就不行呢!
附代码如下:
' 将当前窗口内的内容复制到 Bitmap 中。
Public Function CopyFormBitmap()
Dim dDC As System.IntPtr, bm As New Bitmap(form.Width, form.Height)
Dim g As Graphics = Graphics.FromImage(bm)
dDC = g.GetHdc
If BitBlt(dDC, 0, 0, form.Width, form.Height, hDC, 0, 0, SRCCOPY) Then
bm.Save("d:\temp\window.jpeg", ImageFormat.Jpeg)
End If
g.ReleaseHdc(dDC)
End Function
大家帮我看看,有没有什么办法解决,谢谢!