android – 使用自定义相机的图像质量很差

前端之家收集整理的这篇文章主要介绍了android – 使用自定义相机的图像质量很差前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用自定义相机并且工作正常,但问题是图像以非常低(差)质量保存.为了克服它,我已经尝试了所有的建议和实现.喜欢,
  1. parameters.setJpegQuality(100);
  2. parameters.setPictureFormat(ImageFormat.JPEG);

这不起作用.之后我用过了

  1. List<Size> sizes = cameraParams.getSupportedPictureSizes();
  2. Camera.Size size = sizes.get(0);
  3. for(int i=0;i<sizes.size();i++)
  4. {
  5. if(sizes.get(i).width > size.width)
  6. size = sizes.get(i);
  7. }
  8. cameraParams.setPictureSize(mPictureSize.width,mPictureSize.height);

这也行不通.它的质量仍然很差.

注意:相机预览显示质量正常,但问题是将捕获的图像保存到SD卡文件夹.

高级帮助将不胜感激!

解决方法

最后我的问题解决了.

在我拍摄图像之前,我在这里设置了相机预览的参数

  1. public void takePicture() {
  2. mCamera.takePicture(new ShutterCallback() {
  3. @Override
  4. public void onShutter() {
  5.  
  6. }
  7. },new PictureCallback() {
  8. @Override
  9. public void onPictureTaken(byte[] data,Camera camera) {
  10.  
  11. }
  12. },new PictureCallback() {
  13. @Override
  14. public void onPictureTaken(final byte[] data,Camera camera) {
  15.  
  16. data1 = data;
  17. if (mCamera != null) {
  18. mCamera.stopPreview();
  19. }
  20. }
  21. });
  22. }

所以在我在我的片段中调用函数之前,我已经在此方法之前设置了参数.

  1. mPreview.setParams(params);// This was the mistake what i have done !
  2. mPreview.takePicture();

删除mPreview.setParams(params)后终于解决了;

猜你在找的Android相关文章