SDL2 C截图

SDL2 C截图,第1张

概述嗨,我想知道是否可以简单地使用SDL2截图. 我试过SDL_GetWindowSurface,但是我收到一个错误,说:“没有硬件加速渲染器可用.我把代码从: How do I take and save a BMP screenshot in SDL 2? 我想到的另一个解决方案是将纹理转换为曲面,但我没有这样做 你有什么解决方案吗? 谢谢 看来你正在混合渲染系统.该方法只能在软件渲染的上下文中工 @H_301_1@嗨,我想知道是否可以简单地使用SDL2截图.
我试过SDL_Getwindowsurface,但是我收到一个错误,说:“没有硬件加速渲染器可用.我把代码从: How do I take and save a BMP screenshot in SDL 2?

我想到的另一个解决方案是将纹理转换为曲面,但我没有这样做
你有什么解决方案吗?
谢谢

解决方法 看来你正在混合渲染系统.该方法只能在软件渲染的上下文中工作.对于硬件渲染,您应该使用SDL_RenderReadPixels()方法.要保存屏幕截图,您需要一个这样的代码:
SDL_Surface *sshot = SDL_CreateRGBSurface(0,w,h,32,0x00ff0000,0x0000ff00,0x000000ff,0xff000000);SDL_RenderReadPixels(renderer,NulL,SDL_PIXELFORMAT_ARGB8888,sshot->pixels,sshot->pitch);SDL_SaveBMP(sshot,"screenshot.bmp");SDL_FreeSurface(sshot);

其中w和h是屏幕宽度和高度(您可以使用SDL_GetRendererOutputSize()获取这些值).

总结

以上是内存溢出为你收集整理的SDL2 C截图全部内容,希望文章能够帮你解决SDL2 C截图所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1249222.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-07
下一篇2022-06-07

发表评论

登录后才能评论

评论列表(0条)

    保存