2017-01-10 4 views
0

zu wählen Einer meiner Kunden sagt, dass er nicht in der Lage ist, Foto aus der Galerie (Kamera Ordner) auszuwählen, aber er ist in der Lage, aus anderen Ordner zu wählen.Nicht in der Lage, Foto aus Kamera Ordner in Android

Meine Android App hat folgende Dinge

compileSdkVersion 25 
buildToolsVersion '25.0.2' 

und

minSdkVersion 14 
targetSdkVersion 25 

Jede Hilfe geschätzt wird, dank

Antwort

0

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)); 
+0

Ich habe versucht, Wählen Sie Bild mit 3840 * 2160 von Gallary (Download-Ordner), Es funktioniert gut .... – pankaj

+0

Ja, aber versuchen Sie das Bild von der Kamera zu komprimieren wird es funktionieren – W4R10CK

Verwandte Themen