我正在使用自定义相机并且工作正常,但问题是图像以非常低(差)质量保存.为了克服它,我已经尝试了所有的建议和实现.喜欢 ,
parameters.setJpegQuality(100);
parameters.setPictureFormat(ImageFormat.JPEG);
Run Code Online (Sandbox Code Playgroud)
这不起作用.之后我用过了
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);
Run Code Online (Sandbox Code Playgroud)
这也行不通.它的质量仍然很差.
注意:相机预览显示质量正常,但问题是将捕获的图像保存到SD卡文件夹.
高级帮助将不胜感激!
最后我的问题解决了.
在我parameters拍摄图像之前,我正在设置相机预览
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();
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
所以在我在我的片段中调用此函数之前,我已经在此方法之前设置了参数.
mPreview.setParams(params);// This was the mistake what i have done !
mPreview.takePicture();
Run Code Online (Sandbox Code Playgroud)
删除后终于解决了 mPreview.setParams(params);
| 归档时间: |
|
| 查看次数: |
1630 次 |
| 最近记录: |