截图返回字节流 - GetScreenData
函数简介
获取指定区域的图像数据,以BGRA格式二进制数据返回,每个像素占用4字节。此接口线程不安全,不推荐使用。
接口名称
GetScreenData
DLL调用
int GetScreenData(long ola, int x1, int y1, int x2, int y2, long* data, int* size, int* stride);
参数说明
| 参数名 | 类型 | 说明 |
|---|---|---|
| ola | 长整数型 | OLAPlug对象的指针,由 CreateCOLAPlugInterFace 接口生成。 |
| x1 | 整数型 | 区域的左上X坐标 |
| y1 | 整数型 | 区域的左上Y坐标 |
| x2 | 整数型 | 区域的右下X坐标 |
| y2 | 整数型 | 区域的右下Y坐标 |
| data | 长整数型指针 | 返回图片数据的指针地址 |
| size | 整数型指针 | 返回图片数据的总长度(字节数) |
| stride | 整数型指针 | 返回图片每行数据的字节数 |
示例
long data = 0;
int size = 0;
int stride = 0;
if (GetScreenData(ola, 0, 0, 800, 600, &data, &size, &stride)) {
int width = stride / 4;
int height = size / stride;
printf("图像尺寸: %dx%d\n", width, height);
}
返回值
整数型:1 成功,0 失败。
注意事项
- 此接口线程不安全,建议使用 GetScreenDataPtr + GetImageData + FreeImagePtr 替代。
- 图像宽度 = stride / 4,图像高度 = size / stride。
- 数据指针在下次调用前有效,需及时拷贝数据。
- x1, y1, x2, y2 全传0时获取窗口整个客户区。
