Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как получить доступ к массиву пикселей, через hBmp 
:(
    Опции темы
Travolta
Дата 23.2.2009, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.11.2008

Репутация: нет
Всего: нет



День добрый! для C++
Я получаю hBmp

               HBITMAP hBmp = NULL;
               HDC hdc=GetWindowDC(0);
               HDC hDCMem = CreateCompatibleDC(NULL);
               RECT rect={X,Y,DX,DY};
               hBmp = CreateCompatibleBitmap(hdc, rect.right - rect.left, rect.bottom - rect.top);
               ReleaseDC(0,hdc);
Подскажите как получить непосредственно доступ к массиву пикселей, через hBmp?
PM MAIL   Вверх
jonie
Дата 23.2.2009, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

Репутация: 6
Всего: 118



GetDIBits вам поможет. по координате нужно выбрать контекст и сделать GetPixel 


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
Earnest
Дата 24.2.2009, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Прямой доступ к массиву пикселей bitmap получить нельзя. Только получить копию в свой буфер и там ковырять. А доступ через Get\SetPixel ОЧЕНЬ медленный.
Если нужен именно прямой доступ, нужно использовать не bitmap, а dibsection: CreateDIBSection и т.д. DibSection тоже имеет хандл типа HBITMAP и может использоваться там же где "обычный" BitMap.


--------------------
...
PM   Вверх
Travolta
Дата 25.2.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 3.11.2008

Репутация: нет
Всего: нет



Earnest , jonie.
Спасибо, что ответили.
GEtPixel действительно медленная функция.
По ходу мне ещё дали ссылку. может пригодится кому-то. 
(Помощь, Помощь и Помощь форуму).


http://www.codeproject.com/KB/graphics/rpl...x?display=Print
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0679 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.