1
這讓我有點生氣!Android Bitmap.Compress給字節[]帶-1字節?
我已拍攝的圖像,並使用Bitmap.Compress方法來獲取圖像到字節數組(如下)
InputStream is = MyActivity.this.getContentResolver().openInputStream(imageUri);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2; //try to decrease decoded image
options.inPurgeable = true; //purgeable to disk
Bitmap bitmap = BitmapFactory.decodeStream(is, null, options);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 20, bos);
myModel.setFullImage(bos.toByteArray());
然而,當我看一看該字節的前幾個字節[]它包含了大量的-1以及有效號碼(0-255)和負數像-98等
然後我送跨線這個數據(JSON格式),也未能將其轉換到ac#byte []中,因爲數組中的負數。
什麼錯誤或有我錯過了什麼。我甚至嘗試將compression fator設置爲0以防壓縮做某事。
奇怪的是,如果我將字節轉換爲base64然後發送我可以然後成功地轉換所述的base64字符串轉換成字節[]在C#作爲保存圖像。
怎麼回事?
在此先感謝
喬恩
感謝馬克,我給這個一去,但我下的印象的base64增加,而不是減少它的大小這就是爲什麼我只是想送一個普通的字節數組。 – Jon
@喬恩:BASE64 *不*增加尺寸(相對於原始字節),但JSON更增大了尺寸,所以BASE64應該比JSON較小編碼。 – Gabe
@喬恩作爲加布筆記 - 你是不是發送原始字節[] - 你發送文本;和整數作爲文本是*很*大於base-64 –