在用SurfaceView 和Camera 做摄像头程序时,常常会遇到一些比较纠结的问题,这里简单描述下:
1、预览取景反转
这种情况,再低版本sdk中,必须设置为横屏模式[android:screenOrientation="landscape"]
2、预览图像被拉伸变形
由于预览大小跟SurfaceView 大小不一致引起,常常需要根据surfaceChanged事件的参数width和height,获取系统支持的所有预览尺寸[getSupportedPictureSizes],然后再取一个比较接近的尺寸进行设置[setPreviewSize]
3、预览速率
需要先根据[GetSupportedPreviewFrameRates]获取系统支持的,然后,选择一个最低的进行设置[setPreviewFrameRate]即可
4、保存图片反转
在拍照[takePicture]之前,先对rotation进行偏转设置[rotation]
5、设置为横屏模式之后,UI界面怎么伪横竖屏
添加个OrientationEventListener根据获取不同方向,调整UI布局,对于一些比较特殊,不变调整的控件,可以采用播放动画的方式来实现。
目前,我还遇到一个比较纠结的问题,就是保存相片时,stopPreview 和再次startPreview之间,SurfaceView上会显示一个静态的画面,该画面被拉伸,不知什么原因,请知道原因的大虾赐教!
分享到:
相关推荐
Android Camera API提供了丰富的接口和工具,让开发者可以构建出具有复杂拍照功能的应用。以下是基于提供的标题、描述和标签所解析出的Android相机拍照流程的关键知识点。 首先,我们要理解Android Camera API的三...
不过,当涉及到Camera拍照并进行JPEG硬件编码时,可能会遇到图片中出现竖线的问题。这类问题通常与系统的缓存(cache)机制有关。 首先,我们需要明白在Android系统中,JPEG图片的硬件编码过程是如何进行的。整个...
本文将详细解析一个名为"TakePicture"的Android Camera拍照例子程序,帮助开发者理解如何在Android应用中集成相机功能。 一、Android Camera API简介 Android提供了Camera API,允许开发者访问设备的摄像头,进行...
这份文档可能提供了针对Android 2.2版本中相机问题的具体解决方案,可能包括常见错误如拍照模糊、录制视频时崩溃等问题。用户可能会学到如何通过更新驱动程序、修改权限设置或优化代码来修复这些问题。 2. **...
本文将深入探讨如何使用`Android Studio`和`Camera2` API来实现实时预览以及拍照功能,并将照片以`.fpg`格式保存到手机中。 首先,我们需要在`build.gradle`文件中添加必要的依赖项,确保项目可以使用`Camera2` API...
由于工作中需要用到Camera1,所以花了两天时间研究了以下,使用Android Camera1 API实现了相机预览、拍照和录制视频的功能。 资源中有个MyCamera1Demo.apk可以直接安装运行,MyCamera1Demo.zip是Demo源码。 具体详见...
因为工作中要使用 Android Camera2 API 来实现相机功能,但因为Camera2比较复杂,网上资料也比较乱,有一定入门门槛,所以花了几天时间系统研究了下,这个项目就是我研究的成果。 其中包括一个自己写的Camera2的Demo...
在Android平台上,Camera2 API是用于访问和控制设备相机功能的高级接口,相较于早期的Camera API,Camera2提供了更精细的控制和更好的性能。本文将深入探讨如何使用Camera2 API来实现预览和拍照功能。 一、Camera2 ...
在Android平台上,Camera API是开发人员用来实现相机功能的核心接口,尤其在Android 2.2 (Froyo) 和 2.3 (Gingerbread) 版本中,这一接口对于构建拍照应用至关重要。本文将深入探讨这两个版本的相机源代码,帮助...
这是github的项目源码地址。Android Studio2.3.3调用系统的Camera实现拍照功能,并将照片保存到本地内存卡中
1.首先android6.0以上版本要动态申请相机和文件读写权限 2.废话不啰嗦,上代码: /** * 摄像头画面采集界面 */ public class DistinguishActivity extends BaseActivity implements SurfaceHolder.Callback, ...
在具体实现代码之前,我们先来了解一下Android api对实现自定义Camera的介绍。 根据api的介绍,对于Camera应用可以简单总结以下几个步骤。 1.检查Camera是否存在,并在AndroidManifest.xml中赋予相关的权限; 2....
Android自定义Camera实现拍照功能 Android操作系统中,Camera是一个非常重要的组件,通过Camera,我们可以实现拍照、录像等功能。在Android系统中,Camera组件可以分为两种:前置摄像头和后置摄像头。前置摄像头...
总结,这个项目展示了如何利用Android Camera2 API在后台实现定时无预览拍照,涉及了Camera2 API的深入使用、后台服务的运行机制、定时任务的调度以及资源管理等多个方面。通过这种方式,开发者可以创建更加灵活和...
我自己写的Android CameraX Demo,实现了预览/拍照/录制视频/图片分析/对焦/切换摄像头等操作。 具体详见我的博客 : https://blog.csdn.net/EthanCo/article/details/125603671
在Android平台上,开发一款应用程序利用硬件相机功能进行拍照是一个常见的需求。`Android下使用Camera硬件拍照Demo`就是这样一个示例项目,它展示了如何在Android应用中集成并使用系统相机硬件来捕捉图片。这个Demo...
在Android开发中,有时我们需要实现一些特殊的相机功能,比如不预览的拍照或者后台拍照。这些需求可能出现在一些需要高效能、低资源消耗或者隐私保护的场景。本篇将详细探讨如何实现这样的功能。 首先,要理解“不...
"AndroidCamera拍照.zip" 文件很可能是包含了关于如何在Android平台上使用原生API进行相机操作的一个示例项目或者教程。在这个压缩包中,"AndroidCamera-master"可能是一个GitHub仓库的克隆,里面包含了完整的源代码...
在Android平台上,自定义拍照功能是一项常见的需求,尤其是在开发与图像处理相关的应用时。本教程将深入探讨如何解决Android拍照时出现的竖拍照片横向显示的问题。这个问题通常出现在使用SurfaceView来显示相机预览...
在Android平台上实现后台连续静默拍照是一项技术挑战,涉及到多个关键知识点。首先,我们要理解Android系统的权限管理和运行机制,然后是相机API的使用,以及如何在后台执行任务。以下是对这些核心概念的详细阐述。 ...