是否可以以编程方式以全分辨率/高分辨率拍照?我使用带有一些自定义叠加内容的相机预览和表面。问题是 takePhoto 函数只返回预览大小低分辨率的数据。
即使我检查了 getSupportedPictureSizes,列出的分辨率也与系统相机支持的最大分辨率 5Mpix 相差甚远。所以问题是我可以以最大分辨率拍摄照片并使用自定义相机预览,还是我必须调用系统相机 Intent 才能获得完整的分辨率照片?
是否可以以编程方式以全分辨率/高分辨率拍照?我使用带有一些自定义叠加内容的相机预览和表面。问题是 takePhoto 函数只返回预览大小低分辨率的数据。
即使我检查了 getSupportedPictureSizes,列出的分辨率也与系统相机支持的最大分辨率 5Mpix 相差甚远。所以问题是我可以以最大分辨率拍摄照片并使用自定义相机预览,还是我必须调用系统相机 Intent 才能获得完整的分辨率照片?
是的,您可以,您应该 setPictureSize(),例如参见https://github.com/alexcohn/JBcamera 。
PS谢谢,本杰明,把我的注意力拉回到这个问题上。如果我理解正确,作者对从 IMAGE_CAPTURE 意图返回的数据数组的分辨率感到不安。但这只是缩略图;实际的高分辨率图像写入文件。您可以找到这个 Jpeg 文件并将其加载到您的应用程序中,在onActivityResult()
默认情况下,我认为它设置为低分辨率。按照您的意图更改此调用MediaStore.EXTRA_OUTPUT
。请参阅此处了解更多详细信息:
http://developer.android.com/reference/android/provider/MediaStore.html#ACTION_IMAGE_CAPTURE