2016-11-10 5 views
0

Ich verwende den folgenden Code, um meine Bildbitmap in ein Byte [] und dann in eine Zeichenfolge zu codieren, aber zum Zeitpunkt der Codierung in Byte [] kann es nicht codieren.Konnte Bitmap nicht in byteArray konvertieren

Bitmap bm = BitmapFactory.decodeFile(path); 
     ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
     (bm).compress(Bitmap.CompressFormat.JPEG, 100, stream); 
     bm.recycle(); 
     byte[] byteFormat = stream.toByteArray(); 
     String encodedImage = Base64.encodeToString(byteFormat, Base64.NO_WRAP); 

Die App funktioniert gut, aber ich bin hier fest. Probleme vorschlagen.

+0

Hier überprüfen Sie die akzeptierte Antwort: http://stackoverflow.com/questions/4830711/how-to-convert-a-image- in-base64-string – resw67

+0

'codiert es in byte []' Sie komprimieren die Bitmap zu einem jpg Byte-Array. Danach codieren Sie base64 die Bytes zu einer Zeichenkette. Es ist unklar, über welche Handlung/Aussage Sie sprechen. – greenapps

+0

@greenapps, Was ich eigentlich tun möchte, ist ein Bild als Byte-Array zu speichern und dann in eine Zeichenfolge zu konvertieren, dann werde ich diese Zeichenfolge speichern und wenn ich das Bild verwenden möchte, werde ich diese Zeichenfolge in Byte-Array konvertieren und dann das Bild in einer Bildansicht anzeigen. –

Antwort

0
public static byte[] bitmapToByteArray(Bitmap bitmap){ 
    ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); 
    byte[] byteArray = stream.toByteArray(); 
    bitmap.recycle(); 
    return byteArray; 
} 
0

die Sie interessieren für mich das funktioniert :)

public String imageToBaseString(String path) { 
     BitmapFactory.Options options = new BitmapFactory.Options(); 
     options.inSampleSize = 1; 
     Bitmap bm = BitmapFactory.decodeFile(path, options); 
     ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
     bm.compress(Bitmap.CompressFormat.PNG, 100, baos); 
     byte[] b = baos.toByteArray(); 
     return Base64.encodeToString(b, Base64.DEFAULT); 
    } 
Verwandte Themen