我想在我的 Windows 机器上用 C 语言截取屏幕截图并将其另存为 jpg 或 bmp 或其他格式。无论如何,我尝试自己做,它可以并且运行良好,但速度慢得令人难以忍受,与prt scr关键不同- 我想知道是否有办法访问prt scr剪贴板并以某种方式将其粘贴到 jpg/png 文件中,或者是否有更快的方法获取所有屏幕像素。那是我的代码:
int main()
{
bitmap_t pic;
int i, j;
pic.width = GetSystemMetrics(SM_CXSCREEN);
pic.height = GetSystemMetrics(SM_CYSCREEN);
pic.pixels = (pixel_t**)malloc(sizeof(pixel_t*)*pic.width);
for(i = 0 ; i < pic.height ; i++)
{
pic.pixels[i] = (pixel_t*)malloc(sizeof(pixel_t)*pic.height);
}
HDC hdc = GetDC(NULL);
COLORREF c;
printf("Size of your monitor is %d by %d.\n", pic.width, pic.height);
for(i = 0 ; i < pic.width ; i++)
{
for(j = 0 ; j …Run Code Online (Sandbox Code Playgroud)