Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
[NovicheK]
19 / 19 / 2
Регистрация: 09.03.2012
Сообщений: 91
#1

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

25.07.2012, 19:52. Просмотров 873. Ответов 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
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2012, 19:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как работать с картинкой, зная HBITMAP (C++):

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

как сделать результат программы картинкой - C++
помогите пожалуйста!!!! подскажите как результат программы который выводится на экран после запускания программы сохранить ввиде картинки...

Как создать окно с полупрозрачной картинкой - C++
Как создать окно с полупрозрачной картинкой в C++? Пример: Пример 2:

Как работать с указателями и как работать с ссылками - C++
Я в книге дочитал до темы указатели и ссылки, не понимаю как работать с указателями и как работать с ссылками. Я прочитал понятия я понимаю...

Как сравнить char*, зная длинну? - C++
Привет. Допустим есть указатель на какой либо символ у массива символов. Пример: const char* buffer = ...; ... int...

Как назвать переменную зная её String - C++
Например есть у нас массив из трех стрингов. {a b c}. Я такой считываю и хочу что бы первый символ "в данном случае а" обозвал новую...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
DU
1483 / 1059 / 45
Регистрация: 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
xADMIRALx
67 / 61 / 1
Регистрация: 09.06.2012
Сообщений: 291
25.07.2012, 21:40 #3
ИМХО НО как прям послан нам OPENCV ,юзайте данную библиотеку оч приятно с ней работать
0
[NovicheK]
19 / 19 / 2
Регистрация: 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.07.2012, 19:45
Привет! Вот еще темы с ответами:

Как найти угол, зная его тангенс? - C++
//НЕ СМОГ РЕШИТЬ ЗАДАЧУ ТАК КАК НЕ ЗНАЮ как из тангенса угла вычислить угол. // Задача 1.3 Васильев А.Н #include &lt;iostream&gt; #include...

Как вывести значение переменной, не зная ее типа? - C++
Необходимо написать универсальный скалярный тип, причем так, чтобы нам не нужно было знать тип переменной при ее выводе. Вот, что я...

Как открыть бинарный файл, не зная его структуру? - C++
Можно ли как-нибудь открыть бинарный файл, не зная его структуру?

Как зная площадь треугольника установиться его координаты. - C++
Как зная площадь треугольника установиться его координаты. Естественно любые. Например площадь = 5 тогда координаты : 0 0 4 2 5...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.07.2012, 19:45
Ответ Создать тему
Опции темы

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