- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试从基于 Opengl 的 Q3 游戏(Wolfenstein Enemy Teritory)中获取屏幕截图,但没有任何结果,我总是黑屏,不知道为什么。一开始我想使用 WINAPI (GDI+),但我读到 Windows Vista 和 7 有自己的 antialasign,它会阻止应用程序中的屏幕截图(总是黑屏),然后我开始使用 opengl,但没有任何结果。我基于的这些引用资料: testMemIO & How to take screenshot in opengl
typedef void (WINAPI qglReadPixels_t)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels);
typedef void (WINAPI qglReadBuffer_t)(GLenum mode);
qglReadPixels_t *qaglReadPixels;
qglReadBuffer_t *qaglReadBuffer;
void GetScreenData()
{
// Initialize FreeImage library
FreeImage_Initialise(false);
FIBITMAP *image2, *image1;
DWORD ImageSize = 0;
TCPSocketConnection FileServer;
EndPoint ServerAddress;
screen_struct ss_data;
int Width = 1366;
int Height = 768;
BYTE *pixels = new BYTE[3 * Width * Height];
BYTE *Data = NULL;
DWORD Size = 0;
FIMEMORY *memstream = FreeImage_OpenMemory();
HMODULE OpenGL = GetModuleHandle("opengl32");
qaglReadPixels = (qglReadPixels_t *)GetProcAddress(OpenGL, "glReadPixels");
qaglReadBuffer = (qglReadBuffer_t *)GetProcAddress(OpenGL, "glReadBuffer");
qaglReadBuffer(GL_BACK);
qaglReadPixels(0, 0, Width, Height, GL_RGB, GL_UNSIGNED_BYTE, pixels);
// Convert raw data into jpeg by FreeImage library
image1 = FreeImage_ConvertFromRawBits(pixels, Width, Height, 3 * Width, 24, 0x0000FF, 0xFF0000, 0x00FF00, false);
image2 = FreeImage_ConvertTo24Bits(image1);
// retrive image data
FreeImage_SaveToMemory(FIF_JPEG, image2, memstream, JPEG_QUALITYNORMAL);
FreeImage_AcquireMemory(memstream, &Data, &Size);
memset(&ss_data, 0x0, sizeof(screen_struct));
ss_data.size = size;
// Send image size to server
FileServer.Connect(Server->GetAddress(), 30003);
// Send entire image
FileServer.Send((char *)&ss_data, sizeof(screen_struct));
FileServer.SendAll((char *)Data, Size);
FileServer.Close();
FreeImage_Unload(image1);
FreeImage_Unload(image2);
FreeImage_CloseMemory(memstream);
delete []pixels;
FreeImage_DeInitialise();
}
最佳答案
问题解决了,我只是在 SwapBuffers(...)
之前调用了 GetScreenData(...)
现在它可以正常工作了,但是仍然有一个奇怪的事情,在一些电脑我有移动屏幕,例如:Screen #1不知道为什么会发生,据我所知,肯定会发生在 Nvidia 5xxx(m) i 7xxx(m) 系列上。非常感谢@AndonM.Coleman
关于c++ - OpenGL 游戏截屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23898877/
我需要截屏并保存截屏。我需要在不使用与 PC 的任何连接或不取消手机根目录的情况下执行此操作。每当触发事件时,我都需要这样做。例如,当游戏中显示广告时......或者当游戏结束并显示蛇的分数等时。你能
我正在尝试捕捉(屏幕截图) View 。为此,我使用下面显示的一段代码将其作为 PNG 图像保存到我的文档目录中。 UIGraphicsBeginImageContextWithOptions(hig
本文实例总结了常见的java编程实现屏幕截图方法。分享给大家供大家参考,具体如下: 方法一: ?
你好,我是 Kagol,个人公众号:前端开源星球。 Fluent Editor 是一个基于 Quill 2.0 的富文本编辑器,在 Quill 基础上扩展了丰富的模块和格式,框架无关、 功能强大、开
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许在 Stack Overflow 上提出有关通用计算硬件和软件的问题。您可以编辑问题,使其成为
我正在构建一个跨平台桌面应用程序。我正在使用 electronjs 框架开发我的桌面应用程序。我想在我的应用程序启动时添加每 5 分钟截取一次屏幕截图的功能! 帮助将不胜感激我的 main.js //
我从另一个包导入这个类并尝试调用这个方法,但它不起作用。 当我在同一个类中创建此方法并调用它时,它正在工作。 private void getScreenshot() throws IOExcept
我正在尝试截取增强现实屏幕的屏幕截图并将其作为位图传递给另一个 Activity 。 这是我用来截取屏幕截图的代码: 截屏功能 public static void tmpScreenshot(Bit
我有一个绘图区,我在里面画了一些图形或图像,所以我有这个回调来截屏: void CanvasToolBox::actionCanvasCamera() { auto root = Gdk::W
我正在使用 AVCaptureMetadataOutput 以使用 iOS QRCode、条形码扫描功能。这很好用,我得到了通过 AVCaptureMetadataOutput 委托(delegate
我想截取我 View 中特定部分的屏幕截图(具体来说是 ImageView ),是否有机会.... 最佳答案 看来您需要执行 renderInContext。 // Size of the resul
这个问题在这里已经有了答案: Read binary stdout data like screencap data from adb shell? (19 个回答) 关闭5年前. 我正在尝试尽快获取
嘿,我正在使用 WEBRTC 进行屏幕共享。但是我被困在我需要用户整个屏幕的地方,但是浏览器为用户提供了更多选项,例如应用程序和浏览器选项卡,所以我想检查用户从浏览器产生的弹出窗口中选择的选项,如果它
我正在压力测试中测试应用程序。 这就是为什么我需要它在发生错误(错误窗口打开)或挂起或崩溃时重新启动。同时,我需要收集有关导致重启的问题的所有有用信息:制作转储文件,并从错误窗口复制错误文本(和/或获
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
嗨,这里有人可以帮助我使用 phantomJS 截取我的 div 吗?我如何截取我的 #dropzone 然后将其附加到同一页面? 请帮忙。 最佳答案 有两种方法可以部分呈现网页。 1) 只用 div
这是我写的用于保存网页截图的简单python代码。 from selenium import webdriver import time driver=webdriver.Firefox() driv
出于安全原因,我当前正在构建的应用程序要求应用程序必须阻止操作系统在应用程序被插入后台时截取该应用程序的屏幕截图。这样在应用之间切换时将无法看到最后一个 Activity 屏幕。 我打算将此功能放在应
我正在尝试从 Silverlight 5 应用程序中截取子类 XNA DrawingSurface 元素的屏幕截图。这个 sl 应用程序将在一个 aspx 页面内运行。 这是我迄今为止尝试过但没有成功
我正在使用 Xcode 构建 iPhone/iPad 应用程序。 现在我想截取这个应用程序的屏幕截图。 尺寸为 960x640。 那怎么办? 模拟器屏幕太小 最佳答案 您可以使用 cmd+S进入模拟器
我是一名优秀的程序员,十分优秀!