我正在使用下面的代码打开摄像头。是否可以将摄像机分辨率设置为高编程?以编程方式在android中更改摄像头分辨率设置
private void openDefaultCameraApp() {
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, CAPTURE_PHOTO_CONSTANT);
}
我正在使用下面的代码打开摄像头。是否可以将摄像机分辨率设置为高编程?以编程方式在android中更改摄像头分辨率设置
private void openDefaultCameraApp() {
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, CAPTURE_PHOTO_CONSTANT);
}
您必须添加一个MediaStore.EXTRA_OUTPUT
的意图。在额外的情况下,你必须指定一个Uri来保存图片。这将保存完整分辨率的图像,否则,它只会拍摄一张小图像。
参考Android的文档:可发送到有摄像头应用程序捕获图像并将其返回ACTION_IMAGE_CAPTURE
标准意图的行动。 调用者可能会传递额外的EXTRA_OUTPUT
来控制此图像的写入位置。如果EXTRA_OUTPUT
不存在,则在额外的字段中将小图像作为位图对象返回。这对于只需要小图像的应用程序很有用。如果EXTRA_OUTPUT
存在,那么全尺寸的图像将被写入的EXTRA_OUTPUT
开放的价值,我认为它不是可能看到下面的链接:
Open Android Camera in lower resolution with ACTION_IMAGE_CAPTURE
您必须手动设置从相机预览屏幕分辨率。
即使您的相机分辨率设置得很高,使用Zed Scio的方法也可以实现小幅缩放。
他使用Intent方法,而不是Camera对象。注意,该方法称为openDefaultCameraApp() –