Android - 拍摄的照片与预览不同

时间:2010-07-19 15:06:41

标签: android image camera preview

我有一个相机应用程序,在它最简单的状态下,它只不过是带有一些'takePicture'代码的cameraPreview示例。在线示例的链接是2.0,我正在开发1.5(API lvl 3),但仍然是:http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/graphics/CameraPreview.html

与旧版本最大的区别在于整个“getOptimalPreviewSize”。 一切都完成了。

现在的问题是:我有预览,但是当我拍照时,有关该图片的更多信息,那么预览就有了。顶部和底部显示预览中无法显示的内容。

现在我要在预览的顶部放置一个叠加层,以便将图片中的对象与某些东西对齐。如果拍摄照片,整个事情会被挤压一点,而且我完全没有对齐:(。

系统上的相机应用程序没有此问题,因此必须可以解决此问题。有什么想法吗?

如果我必须手动设置预览和/或图片大小,我猜我会遇到不同的手机,并且因为自从API lvl 5以来有很多功能(例如:getOptimalPreviewSize),我不能使用这些。

2 个答案:

答案 0 :(得分:4)

为Android构建了自定义相机应用程序后,我确切地知道您正在经历的内容。截至10/29/2011,Android 1.5仅占Android用户的1.1%。你最好跳到至少API级别5.如果你想在所有设备上一致地支持肖像和风景预览,我建议你去更高。

使用getSupportedPreviewSizes()和getSupportedPicturesSizes()。这些功能可以准确地告诉您相机支持的内容(因电话/制造商而异)。运行枚举并查找两者匹配的值。使用最适合你的那个。

警告提示:未能设置实际支持的预览和图片大小可能会导致您的应用在某些设备上崩溃。我亲眼看到了这一点。

reference to 1.5 Android users

答案 1 :(得分:1)

getSupportedPicturSizes返回的最大预览尺寸代表相机的原始分辨率。如果该尺寸的宽高比与预设尺寸或您将Camera对象设置为的图片尺寸不同,则会进行裁剪。您可以比较纵横比,以确定裁剪的数量和方向。(上/下与左/右)