Anders Søborg built an amazing scanner that can use either the light sensor that comes with the NXT or a HiTechnic color sensor.
Each line of the image is created by moving the sensor over the image at a constant speed while recording the position and corresponding sensor values with a fixed sample rate. The recorded data is then processed to make up one line of the image. The line is saved to the BMP-file and the scanner will feed the paper so the next line can be scanned. This will be repeated until the entire image has been scanned.
He shares detailed building and programming instructions on his site.