`

Android照相机竖屏研究引导

 
阅读更多
我在做Android照相机研究时曾写过关于照相机摄像头的成像研究报告,在此我对报告重写,以作为照相机竖屏问题研究的讨论引导,起抛砖引玉作用。

       经过我的查证和实验,可以证实:Android提供的SDK(android.hardware.Camera)里大概不能正常的使用竖屏(portrait layout)加载照相机,当用竖屏模式加载照相机时会产生以下情况:1. 照相机成像左倾90度(倾斜);2. 照相机成像长宽比例不对(失比)。之所以是“大概”,原因是因为可能可以通过一些比较复杂的手段解决。如果以上成立,那为什么竖屏不能正常成像也就很显然了。为什么会产生这样的情况,请看下面的研究分析。

       照相机在一般情况下是必须用landscape layout(横屏)的,可以证明,先写一个照相机(只要能preview就行),如果Manifest的activity里不加入android:screenOrientation="landscape",即默认了 android:screenOrientation="portrait"(竖屏),照相机preview时就会出现左倾90度的现象,并且失比。原因是这样的(我推测的),摄像头对照物的映射是Android底层固定了的,以landscape方式为正,并且产生大小为320*480的像,如果换成portrait方式了,摄像头还是产生320*480的像,然后分别对应的放入到一个480*320的屏内,显然会失比,然后根据竖、横屏的规则,就产生了左倾90度的情况(图例)。为了进一步证实我对失比原因的推测,我照相机内加载的SurfaceView调成了320*213,比例大概是(320:213)*1.5=(480:320),所成像结果如愿的形成左倾但是没有失比的状况,这就证实了我的想法。

      综上可以看出,左倾是因为摄像头映射产生的,而失比是由于像素比例映射产生的。

转载http://hi.baidu.com/juwend/blog/item/9977a8f69dff2229730eec6b.html
  • 大小: 13.7 KB
  • 大小: 13.7 KB
分享到:
评论

相关推荐

    Android照相机触屏对焦例子

    这个"Android照相机触屏对焦例子"将引导我们了解如何实现这一功能。Android提供了丰富的API来支持摄像头操作,包括触屏对焦。我们将深入探讨以下几个关键知识点: 1. **Camera API与Camera2 API**: Android提供了...

    android照相机应用源码

    在Android平台上,开发一款照相机应用是相当常见的需求,它涉及到多媒体处理、用户界面设计以及硬件接口调用等多个方面。本资源"android照相机应用源码"提供了一个可以直接运行的Android相机应用示例,这对于初学者...

    android 照相机 demo

    android 照相机 demo android 照相机 demo android 照相机 demo android 照相机 demo android 照相机 demo android 照相机 demo

    delphi xe5 android 调用照相机获取拍的照片

    Delphi XE5 Android 调用照相机获取拍的照片 Delphi XE5 是一款功能强大且流行的开发环境,它提供了许多优秀的功能,包括对 Android 平台的支持。在 Android 平台上,Delphi XE5 提供了许多有用的组件和 API,允许...

    Android照相机自动对焦例子

    在Android平台上,开发一款带有自动对焦功能的照相机应用是一项常见的需求。自动对焦能够帮助用户在不同的光照条件和拍摄场景下获得清晰的图像。本文将深入探讨如何在Android应用中实现这一功能,主要围绕以下几个...

    Android4.0.3照相机源码

    在Android 4.0.3(Ice Cream Sandwich)版本中,照相机功能是系统的核心组件之一,对于开发者来说,理解其源码可以帮助我们深入学习Android系统以及如何构建高性能、功能丰富的相机应用。以下是对Android 4.0.3照相机...

    android 照相机源码 Camera源码

    在Android系统中,照相机功能是用户日常使用的重要部分,深入了解Android照相机的源码有助于开发者优化拍照体验、实现自定义功能或者解决相关问题。本文将深入探讨Android照相机源码,涵盖其核心组件、工作流程以及...

    android照相机源码camera

    在Android系统中,照相机功能是用户日常使用的重要部分,对于开发者来说,理解其源码有助于定制和优化相机应用。Android 4.0(Ice Cream Sandwich,简称ICS)的相机源码提供了丰富的学习材料,揭示了相机服务如何与...

    android照相机

    在Android平台上,照相机功能是应用开发者经常打交道的一部分。Android提供了丰富的API来支持开发者构建功能齐全...通过理解和研究源代码,可以更深入地掌握Android照相机功能的实现原理,从而创建出更优质的相机应用。

    android照相机相册选择,可以多选

    本项目标题为“android照相机相册选择,可以多选”,说明它实现了在Android平台上让用户能够通过自定义的方式,不仅能够使用相机拍摄照片,还能够从相册中选取多张图片,并且具备删除已选择图片的功能。这一特性极大...

    Android自定义照相机实现只拍摄矩形区域(重传)

    在Android开发中,有时我们需要对系统默认的相机功能进行扩展,以满足特定的拍摄需求,例如只拍摄画面中的矩形区域。这样的自定义相机功能可以应用于各种场景,比如二维码扫描、文档拍摄等,确保用户每次拍摄都能...

    Android 照相机裁切图片

    在Android开发中,实现“Android 照相机裁切图片”的功能是常见的需求,尤其是在社交应用或者图片处理类应用中。这个功能允许用户拍摄照片后,根据自己的需要选择并调整图片的展示区域,以便精确地选取想要的部分。...

    Android照相机移动对焦例子

    在Android平台上,开发一款带有移动对焦功能的照相机应用是一项常见的需求。移动对焦,也称为自动对焦,允许用户通过触摸屏幕选择对焦点,从而优化拍摄效果。本篇文章将详细探讨Android照相机移动对焦的相关知识点,...

    android 照相机

    在Android平台上,开发照相机应用是一项常见的任务。本篇文章将深入探讨如何实现在Android中集成照相机功能,包括两种主要方法:直接定义照相机组件和调用系统内置的相机应用。 1. 直接定义照相机组件(Camera API...

    android启动照相机

    android 照相机 自动对焦

    Android 调用系统相册和系统照相机功能雨实例源码.zip

    在Android应用开发中,调用系统相册和相机功能是常见的需求,这使得用户能够方便地选择或拍摄...通过深入研究这些源码,你可以更好地理解Android应用开发中的意图(Intent)、活动(Activity)以及权限管理等相关知识。

    delphi xe5 android 调用照相机摄像头拍照片camera

    在使用Delphi XE5开发Android应用程序时,调用照相机功能是常见的需求,以便让用户拍摄照片并集成到应用中。本示例着重讲解如何在Delphi XE5环境下,利用Android API来实现这一功能,无需额外的组件,只通过原生代码...

    Android 照相机 Camera

    ### Android照相机Camera知识点详解 #### 一、Android照相机Camera概述 自Android OS 2.0版本开始,Google提供了官方支持的照相API,这为开发者提供了开发自定义照相机应用的可能性。到了Android OS 2.3版本,...

Global site tag (gtag.js) - Google Analytics