I can't say it for everyone but I for myself would prefer the 1D byte array.
In my opinion it's much easier to work with when sending over the network (the Image object is not serializable).
But pixel manipulation could probably be easier with the 2D array, no idea, I didn't need it yet.
Maybe make both possible 1D and 2D?
I for myself would be happy if the constructor accepted a byte array.
I think it could be a good idea to wait for other people's opinions.