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

Android-拍摄的图片与预览不同,android,image,camera,preview,Android,Image,Camera,Preview,我有一个camera应用程序,在它最简单的状态下,它只不过是cameraPreview示例,带有一些“takePicture”代码。在线示例的链接是针对2.0的,我是针对1.5(API lvl 3)开发的,但仍然是: 与旧版本最大的区别在于整个“GetOptimizationPreviewSize”功能。 一切都是风景画 现在的问题是:我有一个预览,但当我拍这张照片时,有更多关于这张照片的信息,而不是预览。顶部和底部显示预览中不可见的内容 现在,我将在预览的顶部放置一个覆盖图,以便将图片中的对象

我有一个camera应用程序,在它最简单的状态下,它只不过是cameraPreview示例,带有一些“takePicture”代码。在线示例的链接是针对2.0的,我是针对1.5(API lvl 3)开发的,但仍然是:

与旧版本最大的区别在于整个“GetOptimizationPreviewSize”功能。 一切都是风景画

现在的问题是:我有一个预览,但当我拍这张照片时,有更多关于这张照片的信息,而不是预览。顶部和底部显示预览中不可见的内容

现在,我将在预览的顶部放置一个覆盖图,以便将图片中的对象与某个对象对齐。如果拍了这张照片,整个东西会被挤压一点,我会完全失去方向:(

系统上的摄像头应用程序没有此问题,因此必须能够解决此问题。有什么想法吗


如果我必须手动设置预览和/或图片大小,我想我在使用不同的手机时会遇到问题,因为只有在API lvl 5之后才有很多功能(例如:getOptimalPreviewSize),我不能使用这些。

已经为Android构建了一个定制的摄像头应用程序,我确切地知道你正在经历什么。截至2011年10月29日,Android 1.5只占Android用户的1.1%。你最好至少跳到API 5级。如果你想在所有设备上一致地支持纵向和横向预览,我建议你使用e甚至更高

使用getSupportedPreviewSizes()和GetSupportedPictureSizes()。这些函数准确地告诉您相机支持什么(因手机/制造商而异)。运行枚举并查找两者匹配的值。使用最适合您的值

警告:未能设置实际支持的预览和图片大小可能会导致你的应用程序在某些设备上崩溃。这是我第一手看到的


getSupportedPicturSizes
返回的最大预览大小表示相机的本机分辨率。如果该大小的纵横比与预览大小或设置相机对象的图片大小不同,则将进行裁剪。您可以比较纵横比以确定裁剪的方式ch将被裁剪以及裁剪方向。(上/下vs左/右)

运行相同Android版本的设备之间甚至存在差异,即2.1更新版1。在我的案例中,我与HTC Desire/Nexus One和三星Galaxy S之间存在问题/差异,请参阅以下帖子:我没有对portait和rotation做任何事,因为目前存在这样的问题:(.我无法使用getSupportedPreviewSizes函数,因为我运行的是1.5版本。