Android, de la Compression d'une image
Je vous envoie une image sur le réseau via le wifi ou le réseau mobile pour être stockées dans un serveur (extrait de nouveau. Je l'ai fait, mais en raison de la taille des images prises par la caméra c'est d'en faire mon application lente, juste pour signaler que je suis à l'ouverture de la galerie et de la prise des images à partir de là et de ne pas prendre la photo directement depuis l'application. J'ai remarqué que les images de whatsapp qui ont été prises à partir de l'appareil photo et la galerie ont été compressés à approx. 100kb.
Pour le moment mon code prend un fichier et de les convertir en octets, puis l'envoie. Voici la méthode pour prendre un fichier et de le convertir en octets.
private void toBytes(String filePath){
try{
File file = new File(filePath);
InputStream is = new BufferedInputStream(new FileInputStream(file));
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
bytes = new byte[(int) filePath.length()];
int bytes_read;
while((bytes_read = is.read(bytes, 0, bytes.length)) != -1){
buffer.write(bytes, 0, bytes_read);
}
is.close();
bytes = buffer.toByteArray();
}catch(Exception err){
Toast.makeText(getApplicationContext(), err.toString(), Toast.LENGTH_SHORT).show();
}
}
Donc ma question est comment pourrais-je aller sur la compression de mon image avant de l'envoyer? Aussi je n'ai pas besoin de l'image à conserver un nombre élevé de pixels que lorsque l'application utilise l'image de ce qu'il ne prendra que la moitié de l'écran périphériques.
Je vous remercie pour toute l'aide apportée.
- Peut ce lien peut vous aider stackoverflow.com/questions/2721303/...
- double possible de Compresser l'Image en android
Vous devez vous connecter pour publier un commentaire.
La
BitMap
http://developer.android.com/reference/android/graphics/Bitmap.html classe ont uncompress
méthode.Mais vous pourriez avoir besoin à l'échelle de l'image
createScaledBitmap
, également disponible dans la même classe.Essayez d'utiliser la méthode suivante:
Android bibliothèque nommée SiliCompressor ont été optimisés pour faire tous les de la compression des images pour vous. Vérifier sur Github