I'm working with a client whose color style guides are completely immutable, and as part of their app there is a feature where JPGs that they provided are sent to the server.

I'm currently converting the images to bytestream and uploading thusly, but the images arrive with their colors slightly different than the original. 

Here's my code for the byte stream creation...

```
ByteArrayOutputStream stream = new ByteArrayOutputStream();
Bitmap b = BitmapFactory.decodeResource(getResources(), uploadImgId);
b.compress(Bitmap.CompressFormat.JPEG, 100, stream);            
byte[] bitmapdata = stream.toByteArray();

```

I'm using 100% compression, so, I'm not sure why it's altering the image in any way.

Would it be more reliable to move the JPGs to the device's file system and simply upload a file?
Alternatively, would it be more reliable to use PNGs instead of JPGs? (I'm guessing PNG treats color information differently than JPG does).

TIA