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

Ваш аккаунт

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

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

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

Не вывод графики,а захват изображения

52K
28 сентября 2009 года
k34Nex
4 / / 28.09.2009
Си знаю хорошо,С++ начал недавно, но программировать под Win32 да еще и графику..увы, опыта нет.Поэтому прошу помощи у более опытных,так как прочитал кучу литературы и окончательно запутался. Опишу суть задачи. Нужна программа, которая не нагружая ЦП может анализировать изображение,которое сейчас на дисплее.То есть не выводить графику, а наоборот считывать, какой цвет пикселов в заданной области. Нужно 2 области по краям дисплея на всю высоту, шириной окола ста пикселов, ориентировочно 100*1024 слева и такая же область справа. Нужно вычислить средний цвет.Все вычисления это не проблема.Вопрос в том, какими инструментами залезть в видеопамять и считать оттуда цвета пикселей? Вроде как я понял надо копать в сторону DirectX? Может сформулировал неясно-спросите-уточню. Но цель поставлена серьезная и буду разбираться полностью, подскажите-в каком направлении копать, и вообще возможно ли такое? Заранее всем спасибо, жду ответов!
9
28 сентября 2009 года
Lerkin
3.0K / / 25.03.2003
Иными словами, ты пишешь шнягу для скринкастинга определенных областей экрана? Опиши нормально, что ты собираешься ловить? Может, вообще не тем путем идешь.

P.S. И вообще. Браток, все ответы сводятся к указаниям ссылок, найденным гуглем. А если для разнообразия самому поискать, а? А уже потом, обратиться сюда с описанием конкретной проблемы. Типа, по коду вопросы, и т.д... И самому полезно, и народ ответит с бОльшим желанием, чем по такой постановке: "Хочу, но не могу. Давайте, рассказывайте..."
52K
29 сентября 2009 года
k34Nex
4 / / 28.09.2009
конечно я не сразу пошел писать сюда, несколько дней изучал большие объемы, ссылок были за сотню наверно, проблема моя в том, что я не могу понять в каком направлении копать, я же не прошу - дайте готовую прогу)) Собственно подробнее о назначении. Я делаю динамическую подсветку для монитора, по типу эмбилайт на филиповских телевизорах. с железом никаких проблем.Задача проги-отправить контроллеру пакет данных о среднем цвете слева, и с права. То есть нужно выбрать максимум цвета с левого края монитора и с правого, об остальном беспокоится микроконтроллер. И начал я рыть, и пошли DirectDraw, OpenGL, GUI и проч, и во всем этом я увяз. Вот и прошу-как залезть в видеопамять непосредственно просто взять оттуда данные о цвете, которые на мониторе. Еще попутно вопрос, винда выводит окошки вот, рабочий стол с помощью GUI? а игры например с помощью DirectX? или я просто не понимаю как устроена графика. Все что читал было узконаправленно и сложно.И везде только примеры с рисованием фигур, объектов...а мне нужно наоборот. На вас вся надежда, спасибо!))
284
29 сентября 2009 года
Romik
479 / / 24.11.2002
обрати внимание на библиотеку opencv (open computer vision), в примерах к библиотеке есть то что ты ищешь, например захват видео и сохранение его в файл, обработка видео покадрово, построение гистограмм, применение эффектов.
52K
29 сентября 2009 года
k34Nex
4 / / 28.09.2009
спасибо, ни раз о такой не слышал, почитал, посмотрел много примеров, как я понял это достаточно мощный инструмент, но преимущественно для обработки изображения и видео поступающего через камеру,сканер. А мне надо наоборот анализировать ту, которая на мониторе. И это надо проще реализовать, так чтобы не загружать ЦП. Мне сказали что через directx можно как то это сделать, но ничего путного не нашел(
52K
04 октября 2009 года
Serebrjany mir
10 / / 11.09.2009
Opengl я еще только начал изучать и специальных команд для вывода изображения из файла еще пока не знаю.Насчет drawpixels- тут я знаю только один способ-перевод цветов картинки в цвета opengl, их загрузка в массив пикселей и вывод с помощью drawpixels.Однако я еще не до конца понял как это делаетсяне люблю скатывать готовое без понимания,и этот способ просто не пришел мне в голову.Спасибо, попробую.А может вы знаете еще какой-нибудь способ прямого вывода изображения с помощью opengl?
14
05 октября 2009 года
Phodopus
3.3K / / 19.06.2008
GetDC()/BitBlt() вам должно хватить.
Драйвер виртуального фреймбуфера писать бы не советовал с вашим уровнем подготовки
Цитата:

рабочий стол с помощью GUI? а игры например с помощью DirectX?


вы даже GUI с GDI пока путаете.

52K
07 октября 2009 года
k34Nex
4 / / 28.09.2009
Начал ускоренный курс обучения)) Разобрался с окнами, менюшки, тест. До углубленного программировани графики еще не дошел, но думаю в скором времени все осилю. Все таки на С много писал, новое укладывается достаточно быстро. Понял как выводить графику в клиентскую область программы. А вот как вывести ее в другую область? Как я понял, Все что мы видим на мониторе как в фотошопе из слоев накладывается друг на друга, верно? Если так, то как получить доступ непосредственно ко всему видимому рабочему столу, а не только рисовать в окошке программы) Спасибо за терпение))
1.9K
07 октября 2009 года
andriano
474 / / 10.01.2008
GetDC(0)

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог