我经历了几乎所有的stackoverflow答案,但我相信我的问题有点不同,图像质量并不像在某些问题中那么糟糕.但是当你看到图像时,你可以看到曲线.它不是平滑的图像.
这是我的参数设置代码.
Camera.Parameters params=mCamera.getParameters(); List<Camera.Size> sizes = params.getSupportedPictureSizes(); Camera.Size size = sizes.get(0); //Camera.Size size1 = sizes.get(0); for(int i=0;i<sizes.size();i++) { if(sizes.get(i).width > size.width) size = sizes.get(i); } //System.out.println(size.width + "mm" + size.height); params.setPictureSize(size.width,size.height); params.setFlashMode(Camera.Parameters.FLASH_MODE_AUTO); params.setFocusMode(Camera.Parameters.FOCUS_MODE_CONTINUOUS_PICTURE); params.setSceneMode(Camera.Parameters.SCENE_MODE_AUTO); params.setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO); params.setExposureCompensation(0); params.setPictureFormat(ImageFormat.JPEG); params.setJpegQuality(10); params.setRotation(90); mCamera.setParameters(params);
我正在使用mCamera.takePicture(null,null,mPicture);
解决方法
尝试使用params.setJpegQuality(100)而不是params.setJpegQuality(10).