Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Програмный PrintScreen

13K
06 ноября 2006 года
Mad Kit
18 / / 19.07.2006
Как сделать програмно PrintScreen и записать в файл резаультат?
240
06 ноября 2006 года
aks
2.5K / / 14.07.2006
Чтонить типа этого:
Код:
int width = GetSystemMetrics(SM_CXSCREEN);
            int height = GetSystemMetrics(SM_CYSCREEN);
            HDC dc = ::GetDC(NULL);
            HDC hMemDC;
            HBITMAP hBmpOld;
            HBITMAP hBmp;
            hMemDC = ::CreateCompatibleDC(dc);    
            hBmp = ::CreateCompatibleBitmap(dc, width, height);  
            hBmpOld = (HBITMAP)SelectObject(hMemDC, hBmp);  
            BitBlt(hMemDC, 0, 0, width, height, dc, 0, 0, SRCCOPY);  
            SelectObject(hMemDC, hBmpOld);  
            DeleteObject(hBmpOld);

Теперь в hBmp лежит скриншет, а как уж в файл записать - вам решать. От формата хранения зависит.
13K
06 ноября 2006 года
Mad Kit
18 / / 19.07.2006
Сенк!
13K
16 ноября 2006 года
Mad Kit
18 / / 19.07.2006
При таком копировании не весь экран копируется, точнее есть приложения окна которых не копируются таким образом(например клиент аськи QIP).
Насколько я понял в hBmp лежил хендел на скриншот. А как получить массив пикселей скриншота?
4.1K
16 ноября 2006 года
GRIENDERS
117 / / 06.06.2006
При таком способе это изображение в файле в формате bmp будет весить 3 метра. Как можно уменьшить этот размер ( программно), например сохранить в формате jpeg или еще как нить, кто знает?
240
17 ноября 2006 года
aks
2.5K / / 14.07.2006
[QUOTE=Mad Kit]
Насколько я понял в hBmp лежил хендел на скриншот. А как получить массив пикселей скриншота?[/QUOTE]
GetDIBits например.


[QUOTE=GRIENDERS]При таком способе это изображение в файле в формате bmp будет весить 3 метра. Как можно уменьшить этот размер ( программно), например сохранить в формате jpeg или еще как нить, кто знает?[/QUOTE]
Ну можно например взять Image из GDI+ и загрузить в него полученный скриншот. У него есть возможность сохранять изображения в различные форматы (метод Save).
Можно восспользоваться этой библиотекой специально для работы с Jpeg: http://www.ijg.org
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог