How are you mapping the channels? Assuming the data is an array of uint8_t then the first pixel is :-
for VG_sARGB, data = blue, data = green, data = red, data = alpha
for VG_sRGBA, data = alpha, data = blue, data = green, data = red
OpenVG defines the order as highest bits on the left when read as a word but the RPi is little-endian so the lowest byte is stored at the lowest address in memory (a 32-bit value of 0x01020304 is stored as 0x04, 0x03, 0x02, 0x01).
She who travels light — forgot something.