Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
19 / 19 / 6
Регистрация: 09.03.2012
Сообщений: 91
1

Как работать с картинкой, зная HBITMAP

25.07.2012, 19:52. Просмотров 1118. Ответов 3
Метки нет (Все метки)

Всем привет.
Пытаюсь загрузить курсор в картинку
C++
1
2
3
4
5
 CURSORINFO cinfo;
  cinfo.cbSize=sizeof(CURSORINFO);
  bool e=GetCursorInfo(&cinfo);
  HBITMAP imcur;
  imcur=(HBITMAP)CopyImage(cinfo.hCursor,IMAGE_CURSOR,0,0,0);
Картинку грузит(фон правда черным становится), т.к. выводил на экран.
А вот как можно узнать цвет пиксела в этом битмапе? я чайник, поиск мне не помог(
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.07.2012, 19:52
Ответы с готовыми решениями:

Можно работать с файлом зная что он в одной директории с экзешником но не зная в какой ?
Вот И если нет - надо узнавать директорию ? А каким образом ? То есть программа будет...

Работать с картинкой как с объектом
У меня есть изображение, ну скажем человечек какой-нибудь и мне нужно этого человечка "перенести" в...

Рисование битмапов: (HBITMAP)SelectObject(hMemDC, hBitmap) выдаёт ошибку
Использовал пример из книг Фроловых "Библиотека системного программиста" рисование битовых...

Как отправить файл на сервер через FTP не зная имени а зная только расширение файла?
Доброго времени суток! Очень нужна ваша помощь форумчане.. Пытаюсь отправить файл через FTP на...

3
DU
1492 / 1138 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
25.07.2012, 20:56 2
попробуйте так:
C++
1
2
3
4
5
6
HBITMAP bBmp = ...
HDC hBmpDC = CreateCompatibleDC(hScreenDC);
SelectObject(hBmpDC, hBmp);
const int xPos = 10;
const int yPos = 10;
const COLORREF color = GetPixel(hBmpDC, xPos, yPos);
Ну и почитать нужно, как там после этого нужно убить созданный контекст девайса. Я не помню. В Петзольде еще можно посмотреть (Программирование для Windows 95, первый том)
http://www.softtime.ru/cpp_info/petzold.php
0
69 / 63 / 5
Регистрация: 09.06.2012
Сообщений: 291
25.07.2012, 21:40 3
ИМХО НО как прям послан нам OPENCV ,юзайте данную библиотеку оч приятно с ней работать
0
19 / 19 / 6
Регистрация: 09.03.2012
Сообщений: 91
27.07.2012, 19:45  [ТС] 4
DU. Попробовал обратиться к изображению как ты сказал
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
CURSORINFO cinfo;
  cinfo.cbSize=sizeof(CURSORINFO);
  GetCursorInfo(&cinfo);
  HBITMAP imcur;
  HDC  hScreenDC = ::GetDC( HWND_DESKTOP );
  imcur=(HBITMAP)CopyImage(cinfo.hCursor,IMAGE_BITMAP,0,0,0);
   HDC hBmpDC = CreateCompatibleDC(hScreenDC);
   SelectObject(hBmpDC, imcur);
   const int xPos = 1;
   const int yPos = 1;
   const COLORREF color = GetPixel(hBmpDC, xPos, yPos);
   byte x=GetRValue(color);
   cout<<"Red "<<x<<" Green "<<GetGValue(color)<<" Blue "<<GetBValue(color)<<endl;
    _getch();
    ReleaseDC( HWND_DESKTOP, hScreenDC );
    DeleteDC(hBmpDC);
    DeleteObject(imcur);
Никаких цифр не выводит, в color записывается значение ffffffff. Что с этим делать ума не приложу
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.07.2012, 19:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Как получить Bitmap из HBITMAP
Вот такой код должен получать снимак экрана и выводить его в pictureBox HDC scrdc, memdc; HBITMAP...

Как скопировать HBITMAP в HDC ?
Привет! Есть HDC от окна определённого размера. Есть HBITMAP от картинки намного меньшего размера....

как вернуть HBITMAP у Graphics::TBitmap
Добрый вечер! Есть функция вставляющая картинки в видео по их хэндлу: HRESULT AddAviFrame(HAVI...

Как получить цвет точки из HBITMAP
Как связать HBITMAP и GetPixel()/SetPixel? Мне нужно сделать фильтры для изображения, а я не знаю...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.