Empêcher bitmap trop grand pour être téléchargé dans une texture android
J'ai besoin d'afficher l'image originale en plein écran dans la galerie de la forme. Pour le pouce, il sera fonctionner parfaitement et lorsque j'essaie d'afficher l'image en plein écran avec la source d'origine, il ne sera pas en mesure d'afficher. Dans la plupart des cas, si la résolution de l'image est supérieure à 2000, puis il affichera l'erreur bitmap trop volumineux pour être envoyé dans une texture android.
Je veux éviter cela, j'ai rechercher sur google, mais n'obtenant aucune réponse à ce sujet.
source d'informationauteur Pratik | 2014-03-25
Vous devez vous connecter pour publier un commentaire.
Je suis tombé sur le même problème et est venu avec une seule ligne de solution à ce problème ici:
je viens de créer un si d'autre fonction pour vérifier si l'image est plus grande que 1M pixels voici un exemple de code:
Google a fourni une formation à la façon de le faire. Télécharger l'exemple de Affichage Des Images De Manière Efficace
Prendre un coup d'oeil à ImageResizer classe.
ImageResizer.decodeSampledBitmapFrom* utiliser cette méthode pour obtenir de l'échelle réduite de l'image.
Vous n'avez pas besoin de charger l'ensemble de l'image, parce que c'est trop grand et probablement de votre téléphone ne sera pas en mesure de montrer l'intégralité de l'image bitmap pixels.
Vous avez besoin d'une échelle d'abord en fonction de votre appareil de la taille d'écran.
C'est la meilleure méthode que j'ai trouvé et ça fonctionne très bien:
Android: Redimensionner un grand fichier bitmap à l'échelle du fichier de sortie
J'ai trouvé un moyen de faire ce sans utiliser des bibliothèques externes:
Fondamentalement, le maximum des dimensions de l'image sont un système de limite imposée. L'approche ci-dessus correctement redimensionner les images qui dépassent cette limite. Cependant, seule une partie de l'image entière sera chargé. Pour changer la région affiche, vous pouvez modifier la
x
ety
paramètres de lacreateBitmap()
méthode.Cette approche gère les bitmaps de toute taille, y compris les photos prises avec un appareil photo professionnel.
Références:
Android Universel Chargeur d'Image.
C'est le code que j'ai utilisé pour corriger mon problème de montage d'une image de taille 3120x4196 la résolution d'une image vue de 4096x4096 résolution. Ici ImageViewId est l'id de l'affichage de l'image créée dans la page principale et ImageFileLocation est le chemin de l'image à redimensionner.