当前位置: 首页 > 编程语言 > C#

Vista和Win7打游戏时截屏分享

时间:2023-04-10 13:49:25 C#

Vista和Win7打游戏时截屏我发现还有人求助。我读了那篇文章,它似乎还没有解决。我还尝试将我的代码更改为“2次单击屏幕截图”帖子中的代码,但在我的代码中实现此代码出于某种原因弄乱了我的所有其他代码。目前,屏幕截图在WinXP中呈现完美。在Vista和Win7中,除非在窗口模式下玩游戏,否则它们会出现空白。我希望有人能帮助我们,因为这是完成我们程序的最后一步,如果不解决这个问题我们就无法完成。我用于屏幕截图的C#代码如下。位图bmpScreenshot=newBitmap(Screen.PrimaryScreen.Bounds.Width,Screen.PrimaryScreen.Bounds.Height,PixelFormat.Format32bppArgb);图形gfxScreenshot=Graphics.FromImage(bmpScreenshot);gfxScreenshot.CopyFromScreen(oundScreen.Bcreen.Screenshot.PrimaryScreen.Bounds.Y,0,0,Screen.PrimaryScreen.Bounds.Size,CopyPixelOperation.SourceCopy);我猜您正在尝试使用硬件加速表面的普通屏幕缓冲区来截取屏幕截图。您的WindowsXP结果可能是侥幸:独特的或未优化的视频配置(如果您尝试截取视频的屏幕截图,您可能会得到相同的结果-带有视频卡的黑色、棕色或粉红色大矩形插入加速帧缓冲区)。您需要关闭系统视频加速(兼容模式,其中所有内容都呈现到软件屏幕缓冲区),这是一个系统范围的设置,或者更改您的屏幕截图代码以直接使用您正在使用的图形API(DirectX、OpenGL)-代码完全取决于您用于渲染的API/方法。上面的答案是完全错误的,除了这句话“更改您的屏幕截图代码以直接使用您正在使用的图形API(DirectX,OpenGL)”这是一个修复,但很难。您的问题是游戏在vista和win7中呈现在不同的表面上。您需要挂接图形(DirectX、OpenGL)或者您需要尝试DWM屏幕捕获。对于XP,“点击2次”让我获得了大约2000次点击和无数小时的搜索答案。根本没有很好的记录(至少纯.net解决方案没有)以上是C#学习教程:游戏时在Vista和Win7中的空白屏幕截图的全部内容。如果对大家有用,需要进一步了解《C#学习教程》,希望大家多加关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: