Si cela est déterminé par la résolution de l'écran de l'appareil Android, est-il possible de programmer la valeur de cette résolution?Comment puis-je obtenir la taille par défaut (en pixels) d'une photo qui sera capturée par l'appareil photo Android, avant de le capturer?
Répondre
S'il est déterminé par la résolution de l'écran de l'appareil Android
No.
Comment puis-je obtenir la taille par défaut (en pixels) d'une photo qui sera capturé par caméra Android
Il n'y a pas "def ault taille ... d'une photo ".
Si vous utilisez vous-même les API android.hardware.Camera
ou android.hardware.camera2
, vous devez spécifier la résolution souhaitée parmi les résolutions disponibles.
Si vous utilisez ACTION_IMAGE_CAPTURE
, la résolution sera basée en partie sur si vous passez EXTRA_OUTPUT
ou non, mais autrement est à la hauteur de l'application de la caméra. Il existe des milliers de modèles d'appareils Android, livrés avec des centaines d'applications d'appareils photo préinstallées, et de nombreuses autres applications d'appareils photo sont disponibles via des canaux de distribution comme le Play Store. Ils vont utiliser les API android.hardware.Camera
ou android.hardware.camera2
, et ils choisiront la résolution qu'ils veulent utiliser, quel que soit l'algorithme qu'ils veulent.
vous pouvez faire comme ce
String pickedImagePath = "path/of/the/selected/file";
BitmapFactory.Options bitMapOption=new BitmapFactory.Options();
bitMapOption.inJustDecodeBounds=true;
BitmapFactory.decodeFile(pickedImagePath, bitMapOption);
int imageWidth=bitMapOption.outWidth;
int imageHeight=bitMapOption.outHeight;
Mise à jour:
vous pouvez utiliser des paramètres d'affichage pour obtenir votre écran avec
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
int width = metrics.widthPixels;
int height = metrics.heightPixels;
Note: La résolution de l'écran et la résolution de l'appareil photo peut ne pas être la même chose. Veuillez vous référer à answer here.
Obtenez la taille de l'écran en utilisant l'extrait suivant. this
signifie le contexte d'activité en cours.
WindowManager windowManager = (WindowManager) this.getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
DisplayMetrics displayMetrics = new DisplayMetrics();
display.getMetrics(displayMetrics);
int screenWidth = displayMetrics.widthPixels;
int screenHeight = displayMetrics.heightPixels;
Merci, mais je suis désolé peut-être ma question n'était pas assez claire. Je viens d'éditer l'énoncé de question. Je voulais dire que j'ai besoin de la résolution avant même que l'image ne soit capturée. Enfait ce que je suis après est le nombre de pixels (c'est-à-dire la largeur et la hauteur de l'écran montrant le flux de la caméra en direct en pixels) du flux de la caméra en direct? – Solace
vous voulez obtenir la largeur de l'écran et la hauteur en pixels, ai-je raison? – SaravInfern
Oui, si la largeur et la hauteur d'un cadre de caméra dans un flux de caméra en direct plein écran sont les mêmes que la largeur et la hauteur de l'écran? – Solace