Recadrer l'image en carré - Android
Comment puis-je couper rectangulaire de l'image (600 x 300) à partir de la gauche et de la droite d'ajustement de en place ImageView ? Je ne veux pas de redimensionnement de l'image, j'ai juste envie de les recadrer, de 300 x 300.
[SOLUTION]
@Blackbelt dit
Bitmap cropImg = Bitmap.createBitmap(src, startX, startY, dstWidth, dstHeight);
est idéal pour le recadrage des images. Alors, comment pouvez-vous recadrer automatiquement les images avec des tailles différentes. J'ai créer ce simple code:
//From drawable
Bitmap src= BitmapFactory.decodeResource(context.getResources(), R.drawable.image);
//From URL
Bitmap src = null;
try {
String URL = "http://www.example.com/image.jpg";
InputStream in = new java.net.URL(URL).openStream();
src = BitmapFactory.decodeStream(in);
} catch (Exception e) {
e.printStackTrace();
}
int width = src.getWidth();
int height = src.getHeight();
int crop = (width - height) / 2;
Bitmap cropImg = Bitmap.createBitmap(src, crop, 0, height, height);
ImageView.setImageBitmap(cropImg);
source d'informationauteur KiKo | 2014-10-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
à partir de la documentation:
Ici vous pouvez trouver de la documentation
Étendre un peu sur la réponse ci-dessus
Car, dans certaines situations, vous pouvez vous retrouver avec un exception ou pas le résultat attendusimplement en utilisant l'image Bitmap.createBitmap(), comme la mise en jachère:
Heres est une petite fonction qui fait la culture et de traiter certaines communes des cas.
Edit: mis à jour accordantly à droidster de sa demande.
J'ai fait plusieurs tests avec des images de différentes résolutions et tailles et il fonctionne comme prévu.
Il peut également être utilisé dans d'autres situations, par exemple lorsque vous essayez de faire un "parfaitement", autour de l'image et de la nécessité de passer un peu carrées bitmap, etc.