Я создаю спокойное приложение GUI и использование QImage для открытия изображений. Моя проблема состоит в том, что я не могу выяснить, как использовать бит QIMAGE () и строка развертки () методы для получения доступа в на пиксельный уровень.
Я видел этот QT сообщения пиксельные проблемы управления QImage, но это только для первого пикселя каждой строки. Это корректно, или я понял все это превратно?
заранее спасибо
Сканины
соответствуют высоту изображения, столбцы соответствуют ширине изображения.
Согласно документам, прототип выглядит как UCAR * QIMAGE :: ScanLine (INT I)
, или аналогичный const
.
Но, как указал комментатор, потому что данные зависят от архитектуры и изображения машины, вы должны не использовать UCAR *
напрямую. Вместо этого используйте что-то вроде следующего:
QRgb *rowData = (QRgb*)img.scanLine(row);
QRgb pixelData = rowData[col];
int red = qRed(pixelData);