Bonjour,
J'ai une appli qui me permet de prendre des photos, les stocker en base etc... Et j'aurais tout simplement aimer savoir s'il était possible de connaitre le poids, en Ko, d'une image (de type Bitmap par exemple) ainsi que ses DPI ?
Merci
Version imprimable
Bonjour,
J'ai une appli qui me permet de prendre des photos, les stocker en base etc... Et j'aurais tout simplement aimer savoir s'il était possible de connaitre le poids, en Ko, d'une image (de type Bitmap par exemple) ainsi que ses DPI ?
Merci
Il y a ça :Mais après il te faut faire un algo pour calculer le reste.Code:
1
2
3 BitmapDrawable bd=(BitmapDrawable) this.getResources().getDrawable(R.drawable.icon); int height=bd.getBitmap().getHeight(); int width=bd.getBitmap().getWidth();
Sinon : intéresses-toi à : http://www.androiddevblog.net/androi...ile-in-android
Je n'ai pas trouvé comment trouver le poids d'une image mais je te réponds un peu à l'arrache.
Cordialement.
Bonjour, et merci pour ta réponse
C'est justement cet algo que je cherche, disposant de peu de temps, et en ayant d'autres fonctionnalités à coder, je cherchais une sorte d'algo tout prêt, ou une méthode qui pourrait faire ca, pour me faire gagner un temps précieux ^^
Merci quand même pour ta réponse, je regarderai si je peux en tirer qqch ;)
La taille d'une image... Ca dépend ;)
En mémoire ? width * height * 4 octets
Dans un fichier ? Ca dépend du type de l'image et de l'encoding, JFIF (jpeg image) permet des gains de 80% environ... donc (width * height * 4 /5) octets + payload (environ 32 octets sans EXIF, et sans thumbnail)
En fait cette image va être "transformée" en byte[] et transférée sur un serveur (vraiment classique genre client/serveur en socket etc...) et cette image ne doit pas excédée un certain nombre de Ko.
Donc en théorie :
devrait suffire c'est ca?Code:width * height * 4 octets
Apres si c'est un fichier "physique", en effet le poids peut etre différent en fonction des couleurs etc... c'est ca?
En général c'est surtout en fonction de la compression....
JPEG quality=10 par exemple c'est une compression 50:1 ... une image pourrie à la fin, mais 1/50eme de la taille, soit (width*height*4/50)
JPEG quality=100, c'est plutot du 3:1 .... donc (width*height*4/3)
Il y a aussi les compressions "sans perte"... (2:1 dans le meilleur des cas, sauf images particulières).
Enfin bref... c'est très difficile d'estimer la taille d'un fichier image à cause de la compression... Si il n'y a pas de compression (comme en mémoire) c'est plus simple: Nbre pixels * taille d'un pixel (en octet).....
Pour l'envoyer à un serveur, il y a plusieurs solutions... HttpEntity permet d'envoyer un fichier... mais on peut aussi le faire avec des encoding genre Base64 ou UUEncode et passer les pixels comme du texte...