android如何获取相机分辨率?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android如何获取相机分辨率?相关的知识,希望对你有一定的参考价值。

参考技术A

安卓系统在获取相机分辨率时,可以参考SDK中的API,获取相机的参数:

Camera.Parameters parameters = camera.getParameters(); 

获取预览的各种分辨率:

List<Size> supportedPreviewSizes = parameters.getSupportedPreviewSizes(); 

获取摄像头支持的各种分辨率:

List<Size> supportedPictureSizes = parameters.getSupportedPictureSizes(); 

例如:获取照相机参数,设置需要的参数,其余缺省

Camera camera = Camera.open();            

Camera.Parameters parameters = camera.getParameters(); 

设置照片格式:

parameters.setPictureFormat(PixelFormat.JPEG); 

设置预浏尺寸,注意要在摄像头支持的范围内选择:

parameters.setPreviewSize(WIDTH, HEIGHT); 

设置照片分辨率,注意要在摄像头支持的范围内选择 

parameters.setPictureSize(WIDTH, HEIGHT); 

设置照相机参数:

camera.setParameters(parameters);  

开始拍照:

camera.startPreview();

以上就是获取相机分辨率的步骤。

android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。

Android中如何获取屏幕的分辨率?

一.概念

手机屏幕图像的显示都是由一个个的小点组成的,这一个个的小点就称之为像素。 一块方形的屏幕横向有多少个点,竖向有多少个点,相乘之后的数值就是这块屏幕的像素(数码相机的像素也是这么乘积出来的)。但是为了方便表示屏幕的大小,通常用横向像素×竖向像素的方式来表示。

二.如何获取
1.在activity中

方法一:

     DisplayMetrics dm = getResources().getDisplayMetrics();
     int screenWidth = dm.widthPixels;
     int screenHeight = dm.heightPixels;

方法二:

     DisplayMetrics dm = new DisplayMetrics();
     this.getWindowManager().getDefaultDisplay().getMetrics(dm);
     int screenWidth = dm.widthPixels;
     int screenHeight = dm.heightPixels;
2.在非activity中,传一个Context进来调用

方法一:

    public void getWindowPixels(Context c) { 
         myContext = c;
         DisplayMetrics dm = c.getResources().getDisplayMetrics();
         int screenWidth = dm.widthPixels;
         int screenHeight = dm.heightPixels;
    }

方法二:

public class ToolUtils {
          public static int getWindowWidth(Context context){
                // 获取屏幕宽度
                WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
                DisplayMetrics dm = new DisplayMetrics();
                wm.getDefaultDisplay().getMetrics(dm);
                int mScreenWidth = dm.widthPixels;
                return mScreenWidth;
         }
         public static int getWindowHeigh(Context context){
                // 获取屏幕高度
                WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
                DisplayMetrics dm = new DisplayMetrics();
                wm.getDefaultDisplay().getMetrics(dm);
                int mScreenHeigh = dm.heightPixels;
                return mScreenHeigh;
         }
}

以上是关于android如何获取相机分辨率?的主要内容,如果未能解决你的问题,请参考以下文章

Android中如何获取屏幕的分辨率?

获取和设置相机设置

如何在 Android 设备中获取相机传感器尺寸?

如何从 Android 上的相机获取位图?

如何使用Java在Android中获取相机的焦距

如何从Android片段中的相机获取图像