问题:我用系统底层的相机拍照,但是拍出来的照片压缩很严重,
找了很久也没解决的办法,求大神指点。
自定义相机中,我调用这句:
mCamera.takePicture(null,null, new PictureCallback() {// 查看源码是这样:
public final void takePicture(ShutterCallback shutter, PictureCallback raw, PictureCallback jpeg) {
takePicture(shutter, raw, null, jpeg);
}// 继续调用这个:
public final void takePicture(ShutterCallback shutter, PictureCallback raw,
PictureCallback postview, PictureCallback jpeg) {
mShutterCallback = shutter;
mRawImageCallback = raw;
mPostviewCallback = postview;
mJpegCallback = jpeg;
// If callback is not set, do not send me callbacks.
int msgType = 0;
if (mShutterCallback != null) {
msgType |= CAMERA_MSG_SHUTTER;
}
if (mRawImageCallback != null) {
msgType |= CAMERA_MSG_RAW_IMAGE;
}
if (mPostviewCallback != null) {
msgType |= CAMERA_MSG_POSTVIEW_FRAME;
}
if (mJpegCallback != null) {
msgType |= CAMERA_MSG_COMPRESSED_IMAGE;// 这句话对图片进行压缩吧,但是我的代码中mJpegCallback并不是null啊,找了很久都没人谈这个问题,
}
native_takePicture(msgType);
mFaceDetectionRunning = false;
}