However, if you say make white (using 255,255,255) like this and compare it to a ReadPixelFast call that has read a white pixel, readpixelfast returns -1 which is not the same! But if you subtract -16777216 (the ARGB value for black) they will match. Note that write pixel fast doesn't mind either type of value but Readpixelfast seems to be limited. Anyone want to explain why?