C: сделать скриншот - PullRequest
       4

C: сделать скриншот

3 голосов
/ 30 июля 2010

Как сделать снимок экрана и сохранить его как изображение в C?
ОС: Windows (XP & Seven)

Спасибо

Ответы [ 2 ]

3 голосов
/ 30 июля 2010

, если вы не хотите нажимать на ссылку

#include <windows.h>

bool SaveBMPFile(char *filename, HBITMAP bitmap, HDC bitmapDC, int width, int height);

bool ScreenCapture(int x, int y, int width, int height, char *filename){
  // get a DC compat. w/ the screen
  HDC hDc = CreateCompatibleDC(0);

  // make a bmp in memory to store the capture in
  HBITMAP hBmp = CreateCompatibleBitmap(GetDC(0), width, height);

  // join em up
  SelectObject(hDc, hBmp);

  // copy from the screen to my bitmap
  BitBlt(hDc, 0, 0, width, height, GetDC(0), x, y, SRCCOPY);

  // save my bitmap
  bool ret = SaveBMPFile(filename, hBmp, hDc, width, height);

  // free the bitmap memory
  DeleteObject(hBmp);

  return ret;
}

main(){
  ScreenCapture(500, 200, 300, 300, "testScreenCap.bmp");
  system("pause");
}
3 голосов
/ 30 июля 2010

Вы пробовали Google ?Эта запись в форуме содержит пример с исходным кодом на языке Си с использованием Win32 API.

РЕДАКТИРОВАТЬ: Тем временем нашли дубликат: Как сделать снимок экрана и сохранить егокак JPEG на Windows?

...