我正在使用以下代码打开相机。是否可以通过编程方式将摄像机分辨率设置为高?
private void openDefaultCameraApp() {
Intent i = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(i, CAPTURE_PHOTO_CONSTANT);
}
答案 0 :(得分:3)
您必须在意图中添加MediaStore.EXTRA_OUTPUT
。在额外的情况下,您必须为要保存的图片指定一个Uri。这将保存全分辨率图像,否则,它只会捕捉一个小图像。
请参阅Android文档:ACTION_IMAGE_CAPTURE
可以发送标准意图操作,让相机应用程序捕获图像并将其返回。
调用者可以传递额外的EXTRA_OUTPUT
来控制该图像的写入位置。如果EXTRA_OUTPUT
不存在,则在额外字段中返回小尺寸图像作为Bitmap对象。这对于只需要小图像的应用程序非常有用。如果EXTRA_OUTPUT
存在,则完整尺寸的图像将写入Uri值EXTRA_OUTPUT
答案 1 :(得分:2)
我认为不可能看到以下链接:
Open Android Camera in lower resolution with ACTION_IMAGE_CAPTURE
您必须从相机预览屏幕手动设置分辨率。
即使您的相机分辨率设置为高,如果您的拍摄也很小,请使用Zed Scio的方法。
答案 2 :(得分:1)