Другие языки программирования и технологии

Как сделать скриншет и вырезать из него определенную область и сохранить в файл???

Здраствуйте) ) Можно ли какнибуть средствами С++ сделать скриншет экрана или заданного окна каакой либо программы, вырезать из скрина определенный кусок и сохранить в файл?? ?
С инглишем не дружу! (
Urstin_Justi _
Urstin_Justi _
2 911
вот.... но что бы сохранить в файл надо либо самим с форматом разбираться либо юзать GDIPLUS

bool CaptureScreenShort(void **HBitmap)
{
void *HDCScreen;
void *HDCCompatible;
int Width;
int Height;

if((HDCScreen=GetDC(GetDesktopWindow()))==NULL)return false;

Width=GetDeviceCaps(HDCScreen,HORZRES);
Height=GetDeviceCaps(HDCScreen,VERTRES);

if((HDCCompatible=CreateCompatibleDC(HDCScreen))==NULL)
{
DeleteDC(HDCScreen);
return false;
}

if((*HBitmap=CreateCompatibleBitmap(HDCScreen,Width,Height))==NULL)
{
DeleteDC(HDCScreen);
DeleteDC(HDCCompatible);
return false;
}

if(!SelectObject(HDCCompatible,*HBitmap))
{
DeleteDC(HDCScreen);
DeleteDC(HDCCompatible);
DeleteObject(*HBitmap);
return false;
}

if(!BitBlt(HDCCompatible,0,0,Width,Height,HDCScreen,0,0,SRCCOPY))
{
DeleteDC(HDCScreen);
DeleteDC(HDCCompatible);
DeleteObject(*HBitmap);
return false;
}

DeleteDC(HDCScreen);
DeleteDC(HDCCompatible);

return true;
}
ТХ
Тахир Хиязов
10 484
Лучший ответ
Urstin_Justi _ А какие библиотеки нужно прикрепить?
Urstin_Justi _ А ты чем компилировал? У меня в буилдоре 6 нет stdbool.h
1) Gadwin PrintScreen v4 - Программа для снятия скриншотов. Утилита имеет большое количество настроек, которые позволяют задать начальную задержку для снимка, назначить клавишу для захвата окна, установить область захвата экрана, осуществить выбор папки для сохранения скриншотов. Здесь присутствует функция автоматического присвоения имен скриншотам, возможность скрытия курсора мышки (на скриншоте курсор мыши не отображается), изменение размера скриншота и т.д. Gadwin PrintScreen может сохранять данные в популярные графические форматы (BMP, JPG, GIF, PNG, TIF и TGA). Кроме всего перечисленного, утилита быстро настраивается под конкретные нужды, она не требовательна к системным ресурсам компьютера и работает во всей линейке операционных систем Windows.
http://www.gadwin.com/printscreen/

2) Сlip2Net - Выделите нужную область экрана и получите интернет-ссылку на выбранное изображение, а так же код публикации в своем дневнике, на сайте или форуме. Вы можете так же легко загрузить в интернет любое изображение из буфера обмена.
Также Сlip2Net делает запись видео с экрана. Интерфейс: Русский; Лицензия: Freeware - Бесплатно.
cайт: http://clip2net.com/
Обучающий видеоролик: http://clip2net.com/demo/grabscreen.html

3) Gadwin PrintScreen v4 - Программа для снятия скриншотов. Утилита имеет большое количество настроек, которые позволяют задать начальную задержку для снимка, назначить клавишу для захвата окна, установить область захвата экрана, осуществить выбор папки для сохранения скриншотов. Здесь присутствует функция автоматического присвоения имен скриншотам, возможность скрытия курсора мышки (на скриншоте курсор мыши не отображается), изменение размера скриншота и т.д. Gadwin PrintScreen может сохранять данные в популярные графические форматы (BMP, JPG, GIF, PNG, TIF и TGA). Кроме всего перечисленного, утилита быстро настраивается под конкретные нужды, она не требовательна к системным ресурсам компьютера и работает во всей линейке операционных систем Windows. Интерфейс: Русский.
С официального сайта http://www.gadwin.com/download/index.htm#PrintScreen
можно скачать версию Gadwin PrintScreen Professional

4) Greenshot для быстрого создания копий экрана. Поддерживается вывод в несколько графических форматов.
Управление Greenshot:
Ctrl-PrintScreen - захват всего экрана. PrintScreen - захват области экрана; Alt-PrintScreen - захват окна; или мышкой.
Полученный снимок Greenshot может поместить в буфер обмена, или откроет его во внешнем редакторе.
Может вставить в скриншот текстовые метки или различные выделения.
Может быть переписана на USB и работать с неё. Приятный интерфейс, молниеносная работа и бесплатная.
сайт программы: [ссылка появится после проверки модератором]

5) Screenshot Captor 2.76.01 - программа для снятия скриншотов. Снимает весь экран, активное окно, выбранную область, окна, тулбары, меню, панели и т.д. Есть режим снятия скриншота с нескольких мониторов. Для каждого режима предусмотрена своя горячая клавиша. Автоназвание файлов, возможность вставлять в файлы текстовые комментарии, создание уменьшенных копий изображений (thumbnails) и ряд других полезных функциональностей.
сайт программы: http://www.donationcoder.com/Software/Mouser/screenshotcaptor/index.html
http://soft.softodrom.ru/ap/Screenshot-Captor-p6737

6) FastStone Capture
http://narod.ru/disk/11667088000/FastStoneCapture_v6.exe.html
или [ссылка появится после проверки модератором]
или http://soft.softodrom.ru/ap/FastStone-Capture-p4457

Также программы:
7) WinShap
8) SnimOk !
9) Snagit

10) Или клавишей Print Screen и потом можно открыть в Paint или MS Office PowerPoint или Photoshop. Вставить скрин, жми на Сtrl+v
А просто кнопкой Print Screen и вставить в редактор например Paint и вырезать
что нужно и сохранить
Саша Лешуков
Саша Лешуков
12 521
Urstin_Justi _ Нет так нельзя мне нужно чтобы постоянно делался скрин определенной области экрана!!! И сохранялся в файл...
Нужно апи функции смотреть
Russell Phelps
Russell Phelps
759
Urstin_Justi _ ДА я в курсе ...Смотрел уже но не нашел подходящих((
snagit
Urstin_Justi _ Мне не прога нужна... Я сам хочу написать прогу каторая бы делала скрин по заданному времени и сохраняла его фрагмент в файл!!!

Похожие вопросы