该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
描述下,就是在调用takePicture()后,在他的回调方法中保存了相片,可是相片的质量很差,大小也只有200K,不清楚是哪里的问题。求指教
下面是代码。就贴主要的了
//设置相机和并自动对焦后拍照的方法
public void capture(View view){
Camera.Parameters parameters = myCamera.getParameters();
parameters.setPictureFormat(ImageFormat.JPEG);
parameters.setPictureSize(4208,3120);
parameters.setFlashMode(Camera.Parameters.FLASH_MODE_ON);
parameters.setFocusMode(Camera.Parameters.FOCUS_MODE_AUTO);
myCamera.autoFocus(new Camera.AutoFocusCallback() {
@Override
public void onAutoFocus(boolean success, Camera camera) {
if (success) {
camera.takePicture(shutter,null,mPic);
}
}
});
}
//拍照的回调
private Camera.PictureCallback mPic = new Camera.PictureCallback(){
@Override
public void onPictureTaken(byte[] data, Camera camera) {
File file = new File("/sdcard/temp.jpg");
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write(data);
fos.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}catch (IOException e){
e.printStackTrace();
}
//返回到原Activity
Intent i = new Intent(MyCamera.this,MainActivity.class);
i.putExtra("file",file.getAbsolutePath());
setResult(2, i);
finish();
}
};