使用自定义相机的图像质量较差 [英] Image quality is poor using custom camera

查看:161
本文介绍了使用自定义相机的图像质量较差的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用自定义相机和工作很好,但问题是图像是非常低(质量差)的保存。为了克服它,我试过所有的建议和实现。喜欢,

I am using custom camera and working fine but the issue is image is saving with very low (poor) quality. To overcome with it , i have tried all suggestions and implementations. Like ,

parameters.setJpegQuality(100);
parameters.setPictureFormat(ImageFormat.JPEG);

这不工作。之后我用了

List<Size> sizes = cameraParams.getSupportedPictureSizes();
Camera.Size size = sizes.get(0);
for(int i=0;i<sizes.size();i++)
{
 if(sizes.get(i).width > size.width)
 size = sizes.get(i);
}
cameraParams.setPictureSize(mPictureSize.width, mPictureSize.height);

这也不行。它的保存质量仍然很差。

This is also not working. Its saving with poor quality still.

注意:相机预览效果良好,但问题是将捕获的图像保存到sdcard文件夹。

Note : Camera preview is showing proper with good quality but the issue is when saving captured image to sdcard folder.

高级帮助将不胜感激!

Advanced help would be appreciated!!

推荐答案

最后我的问题解决了。

Finally my issue solved.

这里我在捕获图像之前为相机预览设置了参数

Here I was setting parameters for camera preview before i was capturing the image

 public void takePicture() {
    mCamera.takePicture(new ShutterCallback() {
        @Override
        public void onShutter() {

        }
    }, new PictureCallback() {
        @Override
        public void onPictureTaken(byte[] data, Camera camera) {

        }
    }, new PictureCallback() {
        @Override
        public void onPictureTaken(final byte[] data, Camera camera) {

            data1 = data;
            if (mCamera != null) {
                mCamera.stopPreview();
            }
        }
    });
}

所以在我调用这个函数之前,我已经在这个方法之前设置了参数。

So before i called this function in my fragment i have set parameters before this method.

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

最后解决了 mPreview.setParams(params);

这篇关于使用自定义相机的图像质量较差的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆