La conversion de bitmap à byteArray android
J'ai une image bitmap que je veux envoyer au serveur par l'encodage en base64, mais je ne veux pas compresser l'image soit au format png ou jpeg.
Maintenant ce que j'ai déjà fais.
ByteArrayOutputStream byteArrayBitmapStream = new ByteArrayOutputStream();
bitmapPicture.compress(Bitmap.CompressFormat.PNG, COMPRESSION_QUALITY, byteArrayBitmapStream);
byte[] b = byteArrayBitmapStream.toByteArray();
//then simple encoding to base64 and off to server
encodedImage = Base64.encodeToString(b, Base64.NO_WRAP);
Maintenant, je ne veux pas utiliser de compression ni de n'importe quel format de la plaine simple byte[] de l'image bitmap que je peux coder et de les envoyer au serveur.
Les pointeurs?
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
copyPixelsToBuffer()
pour déplacer les données de pixels d'uneBuffer
, ou vous pouvez utilisergetPixels()
et puis de convertir les entiers en octets avec décalage de bits.copyPixelsToBuffer()
est probablement ce que vous aurez envie de l'utiliser, voici un exemple sur la façon dont vous pouvez l'utiliser:au lieu de la ligne suivante dans @jave réponse:
Utiliser la ligne suivante et la fonction:
est utile pour trouver la taille de la ByteBuffer