views:

642

answers:

1

Hi,

I am building a QT GUI application and use QImage for opening images. My problem is that I can't figure out how to use QImage's bit() and scanline() methods to get access at per pixel level.

I've seen this post http://stackoverflow.com/questions/857962/qt-qimage-pixel-manipulation-problems but this is only for the first pixel of each row. Is this correct or I got it all wrong?

thanks in advance

+2  A: 

The scanlines correspond to the the height of image, the columns correspond to the width of the image.

According to the docs, the prototype looks like uchar* QImage::scanline(int i), or a similar const version.

Thus, you can do something like the following to get at pixel [row][col]:

image.scanline(row)[col];

or:

uchar* row = image.scanline(row);
uchar data = *(row+col);
Kaleb Pederson