科技公司网站模板下载,网站关键字分析,南昌二手网站开发方案,清华大学学生工作做网站大家平时都会调用到Camera 这个API#xff0c;在设置Camera.Paramera的参数的时候#xff0c;有一个预览大小。也就是#xff1a;setPreviewSize(int width, ing height)这个相机的大小不能随便设置#xff0c;如果设置了不可接受的值#xff0c;程序会崩溃掉。现在给大家…大家平时都会调用到Camera 这个API在设置Camera.Paramera的参数的时候有一个预览大小。也就是setPreviewSize(int width, ing height)这个相机的大小不能随便设置如果设置了不可接受的值程序会崩溃掉。现在给大家提供一个很好用的方法。private Size getBestSupportedSize(List sizes), int width, int height) {Size bestSize sizes.get(0);int largestArea bestSize.width * bestSize.height;for (Size s : sizes) {int area s.width * s.height;if (area largestArea) {bestSize s;largestArea area;}}return bestSize;}至于这个方法中的几个参数从哪里来的。我们需要在SurfaceHolder的Callback回调方法中来初始化相机的。holder.addCallback(new SurfaceHolder.Callback(){...public void surfaceChanged(SurfaceHolder holder, int format, int w, int h) {Camera.Parameters parameters mCamera.getParameters();Size s getBestSupportedSize(parameters.getSupportedPreViewSizes(), w, h);parameters.setPreviewSeze(s.width, s.height);....}});我们通常拍完照之后还会设置图片的大小其实也是一样的Camera.Parameter有一个方法getSupportedPictureSizes()s getBestSupportedSize(parameters.getSupportedPictureSizes(), w, h);parameters.setPictureSize(s.width, s.height);小方法大技巧。这是在 Android 权威指南这本书上看到的记录下笔记。