Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
431 / 385 / 200
Регистрация: 12.08.2011
Сообщений: 1,610

Подмена изображения на экране

24.07.2012, 12:41. Показов 2177. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как написать программу, которая в реальном времени перехватывает изображение на экране и каким-то образом его модифицирует (переворачивает, отражает слева направо, инвертирует цвета и т.д.)? Очень важно, чтобы программа была написана на чистом C (можно с ASM) и работала как можно эффективнее.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.07.2012, 12:41
Ответы с готовыми решениями:

Подмена изображения
Друзья, подскажите прогу которая меняет изображение, которое передает вэбка, на фото или картинку...точнее на файл джипэг. Чтоб и св скайпе...

Подмена изображения
Здравствуйте форумчане. Только начал учить wp. подключать и создавать миниатюры научился. Теперь предо мной стоит цель создания такой...

Подмена удаленного изображения картинкой
Сабж. А если подробнее, на сайте есть статьи, но картинки оказались безвозвратно удалены. Все адреса картинок имеют вид ...

1
Эксперт С++
 Аватар для nameless
342 / 306 / 36
Регистрация: 16.06.2009
Сообщений: 486
25.07.2012, 00:52
Вот пример того как можно повернуть экран на 90/180/270 градусов:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <tchar.h>
 
int GetControlKey() {
    DWORD mode;
    HANDLE hstdin;
    INPUT_RECORD inrec;
    DWORD count;
    TCHAR default_prompt[] = _T("");
 
    hstdin = GetStdHandle(STD_INPUT_HANDLE);
    if (hstdin == INVALID_HANDLE_VALUE || !GetConsoleMode( hstdin, &mode ) || !SetConsoleMode( hstdin, 0)) {
        return 0;
    }
 
    WriteConsole(
        GetStdHandle( STD_OUTPUT_HANDLE ),
        default_prompt,
        lstrlen(default_prompt),
        &count,
        NULL
    );
 
    FlushConsoleInputBuffer(hstdin);
 
    do {
        ReadConsoleInput(hstdin, &inrec, 1, &count);
    } while ((inrec.EventType != KEY_EVENT) || inrec.Event.KeyEvent.bKeyDown);
 
    SetConsoleMode(hstdin, mode);
 
    return inrec.Event.KeyEvent.wVirtualKeyCode;
}
 
void SetDmPels(DEVMODE * dm) {
    DWORD dwTemp = dm->dmPelsHeight;
    dm->dmPelsHeight= dm->dmPelsWidth;
    dm->dmPelsWidth = dwTemp;
}
 
int main() {
    DEVMODE dm;
    ZeroMemory(&dm, sizeof(dm));
    dm.dmSize = sizeof(dm);
 
    if (EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &dm)) {
        printf("Change the orientation of the monitor screen.\nControl: up, left, down, right.");
 
        BOOL state = TRUE;
        long lRet;
 
        DWORD dwTemp = dm.dmPelsHeight;
        dm.dmPelsHeight= dm.dmPelsWidth;
        dm.dmPelsWidth = dwTemp;
 
        while (state) {
            SetDmPels(&dm);
 
            switch (GetControlKey()) {
            case VK_UP:
                dm.dmDisplayOrientation = DMDO_DEFAULT;
                break;
 
            case VK_LEFT:
                dm.dmDisplayOrientation = DMDO_90;
                break;
 
            case VK_DOWN:
                dm.dmDisplayOrientation = DMDO_180;
                break;
 
            case VK_RIGHT:
                dm.dmDisplayOrientation = DMDO_270;
                break;
 
            default:
                state = FALSE;
                break;
            }
 
            lRet = ChangeDisplaySettings(&dm, 0);
        }
    }
 
    return 0;
}
http://msdn.microsoft.com/en-u... s.85).aspx
http://msdn.microsoft.com/en-u... s.85).aspx
http://msdn.microsoft.com/en-u... s.85).aspx

Здесь можно узнать подробнее о том как это все работает. Плюс, добавить новые возможности.. Удачи..)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.07.2012, 00:52
Помогаю со студенческими работами здесь

Подмена файла hosts, подмена стартовой страницы, обращение utorrent к подозрительным адресам
Добрый день! Попал в руки ноутбук со следующей проблемой: браузер не открывал доступ к сайтам и поисковым системам, сообщая о использовании...

Рисование изображения на экране
Здравствуйте. Я вторую неделю изучаю шарп. Не успел добраться даже до основ .NET. Но есть интерес создать приложение, которое было бы...

Нет изображения на экране
Комплектующие: мать ASRock G31M-GS, проц intel core 2 duo e7200, бп thermaltake на 480, видеокарта Radeon hd 3850, 2 планки по 2 об...

Нет изображения на экране
Всем привет! У моего нетбука emachines не включается экран, может проблема с видеокартой? Или другие причины?

Нет изображения на экране
привет народ у меня мега проблема при включении п.к. не идет изображение на экран пробовал с 2-мя видюхами nvidia geforce 6600gt и zotac...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru