| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Visual C++/MFC/WTL > Как получить доступ к массиву пикселей, через hBmp |
| Автор: Travolta 23.2.2009, 12:59 |
| День добрый! для 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? |
| Автор: jonie 23.2.2009, 14:22 |
| GetDIBits вам поможет. по координате нужно выбрать контекст и сделать GetPixel |
| Автор: Earnest 24.2.2009, 08:53 |
| Прямой доступ к массиву пикселей bitmap получить нельзя. Только получить копию в свой буфер и там ковырять. А доступ через Get\SetPixel ОЧЕНЬ медленный. Если нужен именно прямой доступ, нужно использовать не bitmap, а dibsection: CreateDIBSection и т.д. DibSection тоже имеет хандл типа HBITMAP и может использоваться там же где "обычный" BitMap. |
| Автор: Travolta 25.2.2009, 14:30 |
| Earnest , jonie. Спасибо, что ответили. GEtPixel действительно медленная функция. По ходу мне ещё дали ссылку. может пригодится кому-то. (Помощь, Помощь и Помощь форуму). http://www.codeproject.com/KB/graphics/rpl...x?display=Print |