Réduire la taille de capture d'image de la caméra android
Ici, je sauve l'image capturée sur la carte sd de la caméra. Ici, capturé la taille de l'image est plus grande que 1 MB
. Je veux réduire cette taille à près de 500 ko à 600 ko avant de l'enregistrer sur carte sd. Comment pourrais-je le faire?
try
{
Bitmap mPhoto;
mPhoto = android.provider.MediaStore.Images.Media.getBitmap(cr, CheckInGallery.mUri);
ByteArrayOutputStream bytes = new ByteArrayOutputStream();
mPhoto.compress(Bitmap.CompressFormat.PNG, 100, bytes);
File direct = new File(Environment.getExternalStorageDirectory() + "/RetailRun");
String mydate = java.text.DateFormat.getDateTimeInstance().format(Calendar.getInstance().getTime());
Toast.makeText(getBaseContext(), "Time :" + mydate, 5000).show();
if(!direct.exists())
{
direct.mkdir();
File file = new File(Environment.getExternalStorageDirectory()+File.separator + "/MyImage/image" + mydate +".jpg");
file.createNewFile();
FileOutputStream fo = new FileOutputStream(file);
fo.write(bytes.toByteArray());
fo.close();
}
else
{
File file = new File(Environment.getExternalStorageDirectory()+File.separator + "/MyImage/image" + mydate +".jpg");
file.createNewFile();
FileOutputStream fo = new FileOutputStream(file);
fo.write(bytes.toByteArray());
fo.close();
}
}
catch (Exception e)
{
Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
OriginalL'auteur Anil Bhatiya | 2013-12-16
Vous devez vous connecter pour publier un commentaire.
100, c'est le meilleur de la qualité. Si tu veux réduire la taille, puis essayez de decrase que la valeur
Autre façon peut-être d'utiliser inSampleSize paramètres de BitmapFactory.Options(). Cela devrait permettre de réduire la taille de trop. Vous pouvez lire buter que ici
edit:
Code
Qui devrait charger une image avec peu de moins bonne qualité.
puis enregistrer l'image
Oui, ça devrait aider
Gooziec: bonjour, je suis de la même taille d'image, >1 MO...
Essayez donc la deuxième voie et de lire sur inSampleSize paramètres de BitmapFactory.Options(). Cela devrait aussi réduire la taille de l'image Bitmap. Voir mon edit au dessus
De Bitmap.CompressFormat documentation -> Certains formats, comme le PNG qui est sans perte, va ignorer le paramètre de qualité. Essayez d'utiliser un autre format JPEG
OriginalL'auteur Gooziec
Définir la hauteur et la largeur de votre image bitmap est spécifique au mobile...
cette méthode de réduire la taille de l'image .ses travaux dans mon projet.
OriginalL'auteur dipali
OriginalL'auteur amy
Après avoir lu les autres réponses et de ne pas trouver exactement ce que je voulais, voici mon approche à l'acquisition d'une échelle appropriée bitmap. C'est une adaptation de Prabu de réponse.
Il fait en sorte que votre image est mise à l'échelle de manière à ne pas déformer les dimensions de la photo:
Voici un lien correspondant à mon GitHub Gist: https://gist.github.com/Lwdthe1/2d1cd0a12f30c18db698
OriginalL'auteur lwdthe1
C'est ce qui a fonctionné pour moi.
Sur un Samusung Galaxy S7, j'ai été en mesure de réduire la taille jusqu'à 300 ko.
OriginalL'auteur Irshu