lcBlack = CHR(0)+CHR(0)+CHR(0) FOR lnI = 1 TO bufferLength STEP 4 IF SUBSTR(buffer, lnI, 3) == lcBlack OR SUBSTR(buffer, lnI + 1, 3) == lcBlack * It's a black pixel ENDIF NEXTYou could also capture the bitmap, invert its colors, use VFP to overlay the inverted image atop a known background color with the Image's mode set to TRANSPARENT (where all WHITE pixels are ignored), then capture that image and save it to another buffer. Then, repeat the same process using another background color. In such a case, every difference between the two images will be where the black pixels were.