vgReadPixels lets you access data from the current drawing surface bypassing any VGImage. This function lets you dump the current image that would be presented into a color-image.
If you want to dump the content of an VGImage object vgReadPixels is not the function you want to use.
Instead call vgGetImageSubData on the VGImage object. For best precision you should use the same format as used in the vgCreate command. If you use a different format you will still get the content of the image, but it will be processed using a color-conversion process which might slightly degrade the image quality due to round-off effects that may happen during conversion.