android JB3上怎样更改Camera拍照的quality

将\packages\apps\Camera\src\com\android\camera\SettingChecker.java中:
        case ROW_SETTING_JPEG_QUALITY:
            int jpegQuality = getJpegQuality(context, Integer.parseInt(value));
            parameters.setJpegQuality(jpegQuality);
            break;
改动为:
        case ROW_SETTING_JPEG_QUALITY:
            int jpegQuality = 100;
            parameters.setJpegQuality(jpegQuality);
            break;
就可以。
 
jpegQuality的范围为1~100,您可按需求自行更改。眼下6572的JB3默认是90。
 
 
可能带来的问题:
当jpegQuality被设置为大于95时,在复杂场景下encode出来的jpeg file大小可能会超过我们预留的buffer,从而产生各种各样的问题,比如拍出来的照片无法预览,在图库应用中显示无缩略图。
 
当ap设置的jpegQuality>95时,底层在使用前会强制减少为95。
若不降Quality、而添加capture file buffer大小。也可解决此问题。但File size过大。会影响连拍的performance(减少连拍速度、连拍不能达到最大张数等)。所以,终于採用降Quality方式解决。

posted on 2017-08-15 10:39  wgwyanfs  阅读(182)  评论(0编辑  收藏  举报

导航