Ja, es passiert, wenn Bitmap
nicht, weil die Höhe geladen werden kann und Breite des Bildes ist größer in der Größe, die 2048*2048
ist. Bilder, die mit der Kamera aufgenommen wurden, sind normalerweise groß, daher ist es eine gute Übung, das Bild zu verkleinern.
Unten ist nur ein Beispiel für Erntebild, wenn groß, und nicht kümmern Bildverhältnis
public class InputImageCompressor extends Activity{
public static void compressInputImage(Uri inputImageData, Context context, ImageView newIV)
{
Bitmap bitmap;
//Uri inputImageData = data.getData();
try
{
Bitmap bitmapInputImage = MediaStore.Images.Media.getBitmap(context.getContentResolver(), inputImageData);
if (bitmapInputImage.getWidth() > 2048 && bitmapInputImage.getHeight() > 2048)
{
bitmap = Bitmap.createScaledBitmap(bitmapInputImage, 1024, 1280, true);
newIV.setImageBitmap(bitmap);
}
else if (bitmapInputImage.getWidth() > 2048 && bitmapInputImage.getHeight() < 2048)
{
bitmap = Bitmap.createScaledBitmap(bitmapInputImage, 1920, 1200, true);
newIV.setImageBitmap(bitmap);
}
else if (bitmapInputImage.getWidth() < 2048 && bitmapInputImage.getHeight() > 2048)
{
bitmap = Bitmap.createScaledBitmap(bitmapInputImage, 1024, 1280, true);
newIV.setImageBitmap(bitmap);
}
else if (bitmapInputImage.getWidth() < 2048 && bitmapInputImage.getHeight() < 2048)
{
bitmap = Bitmap.createScaledBitmap(bitmapInputImage, bitmapInputImage.getWidth(), bitmapInputImage.getHeight(), true);
newIV.setImageBitmap(bitmap);
}
} catch (Exception e)
{
Toast.makeText(context, e.toString(), Toast.LENGTH_LONG).show();
}
}
}
verwenden in Ihrem onActivityResult
als:
InputImageCompressor.compressInputImage(data, activity_context, imageView_to_place_image(imageview));
Ich habe versucht, Wählen Sie Bild mit 3840 * 2160 von Gallary (Download-Ordner), Es funktioniert gut .... – pankaj
Ja, aber versuchen Sie das Bild von der Kamera zu komprimieren wird es funktionieren – W4R10CK