2014-10-17 2 views
0

Я хочу преобразовать свое захваченное изображение в байт []. Когда я снимаю изображение с помощью камеры, оно захватывается, а также отображается предварительный просмотр, а также сохраняет изображение на моем внешнем хранилище. Но когда я пытаюсь преобразовать изображение предварительного просмотра, он не хранит ничего в массиве байтов. Ниже приведен мой метод, который вызывается, когда я нажимаю кнопку предварительного просмотра на моем телефоне.Невозможно преобразовать растровое изображение в байт []

public static void previewCapturedImage() { 
    try { 
     static ByteArrayOutputStream stream = null; 
     imgPreview.setVisibility(View.VISIBLE); 
     BitmapFactory.Options options = new BitmapFactory.Options(); 
     options.inSampleSize = 8; 
     final Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath(),options); 
     imgPreview.setImageBitmap(bitmap); 
     stream = new ByteArrayOutputStream(); 
     bitmap.compress(CompressFormat.JPEG, 100, stream); 
     byte[] byteArray = stream.toByteArray(); 

    } catch (NullPointerException e) { 
     e.printStackTrace(); 
    } 
} 

ответ

0

Преобразование изображения в строку & массив байтов, использование следующий короткий кода.


ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
yourbitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos); 
//this will convert image to byte[] 
byte[] byteArrayImage = baos.toByteArray(); 
// this will convert byte[] to string 
String encodedImage = Base64.encodeToString(byteArrayImage, Base64.DEFAULT); 
0

Проверьте ниже рабочий код. Сюда входит также регулирование качества

/** 
* @param bitmap 
* @param quality 1 ~ 100 
* @return 
*/ 
public static byte[] compressBitmap(Bitmap bitmap, int quality) 
{ 
    try 
    { 
     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     bitmap.compress(Bitmap.CompressFormat.PNG, quality, baos); 

     return baos.toByteArray(); 
    } catch (Exception e) 
    { 
     PrintLog.print(TAG, e.toString(), e); 
    } 

    return null; 
} 
Смежные вопросы