首页
学习
活动
专区
圈层
工具
发布

Android旋转相机拍摄的照片

前两天在做一个图片选择器的需求,其中的拍照部分要求调用系统相机拍照后允许用户逆时针旋转图片。...270度的却只旋转了180度,每个方向的旋转都少了90度。...一筹莫展之际,我随手打开了单步调试,在Android Studio中预览了srcBitmap,此时才发现从文件中读取的图片竟然已经被旋转了270度,而通过Glide将图片文件加载给ImageView的时候却是朝向正常的...根据Wiki提供的参考链接可以得知三种非常规朝向和对应的值,如下图: [orient_flag2.gif] Orientation这个属性值可以理解为拍照的相机顺时针旋装的角度,对一加手机上的照片文件通过如下的方式获取这个字段的值...找到原因后,解决办法也非常简单了:在旋转之前先旋转一定的角度摆正照片,再追加需要旋转的角度。例如在我的一加手机上,当需要旋转180度时,实际需要旋转的角度就是90+180=270度。

1.6K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    同时使用多个相机流 — Android 相机介绍

    Oscar Wahltinez 译文出自:掘金翻译计划 本文永久链接:github.com/xitu/gold-m… 译者:zx-Zhu 校对者:nanjingboy, gs666 这篇文章是当前关于 Android...相机介绍中最新的一篇,我们之前介绍过相机阵列和相机会话和请求。...实际表现还会因机型而异,Android 给了我们一些保证,可以根据输出类型,输出大小和硬件级别三个变量来支持特定组合。使用不支持的参数组合可能会以低帧率工作,甚至不能工作,触发其中一个故障回调。...为了获取到正确的预览尺寸,我们需要对比可用的输出尺寸和显示尺寸,同时考虑到可以旋转显示。...内容覆盖 Android、iOS、前端、后端、区块链、产品、设计、人工智能等领域,想要查看更多优质译文请持续关注 掘金翻译计划、官方微博、知乎专栏。

    2.8K40

    android 自定义相机

    老规矩,先上一下项目地址:GitHub:https://github.com/xiangzhihong/CameraDemo 方式: 调用Camera API 自定义相机 调用系统相机 由于需求不同...而第一种自定义相机的方式使用也十分普遍,但是要做好这个模块,相对来说还是有一定难度的,之前分享过一个Github上的开源相机的项目,项目由美国的一个团队开发,集 拍照、摄影、各种特效动画 等功能与一身,...相机开发简介 下面说说在Android中调用Camera来定义相机的最基本步骤: 打开相机 —— 调用Camera的open()方法。...setPictureSize() 方法用于设置相机照片的大小,参数为整型。...导致原因:由于单独开辟了线程去初始化启动相机,导致相机的初始化和开启工作已完成,而找不到画布控件。若出现此情况,可调试或者将线程睡眠500毫秒。

    3.2K61

    Android相机开发那些坑

    这篇文章总结了Android相机开发的相关知识、流程,以及容易遇到的坑,希望能帮助今后可能会接触Android相机开发的朋友快速上手,节省时间,少走弯路。...一.Android中开发相机应用的两种方式 Android系统提供了两种使用手机相机资源实现拍摄功能的方法,一种是直接通过Intent调用系统相机组件,这种方法快速方便,适用于直接获得照片的场景,如上传相册...[image.jpg] 图2 相机传感器方向示意图 相机的预览方向:由于手机屏幕可以360度旋转,为了保证用户无论怎么旋转手机都能看到“正确”的预览画面(这个“正确”是指显示在UI预览界面的画面与人眼看到的眼前的画面是一致的...),Android系统底层根据当前手机屏幕的方向对图像传感器采集到的数据进行了旋转处理,然后才送给显示系统,因此可以保证预览画面始终“正确”。...为了得到正确的预览画面,必须通过API将相机的预览方向旋转90,保持与屏幕方向一致,如图3所示。

    30.3K50

    Android平台相机接口的应用

    Android运行时包括核心库和Dalvik虚拟机,前者既兼容了大多数Java语言所需要调用的功能函数,又包括了Android的核心库,比如android.os、android.net、android.media...项目加载到android模拟器后,在系统菜单中会有cameratest 一项,点击后启动程序,程序启动后会在屏幕中显示三个按钮“启动照相机”、“点击拍照”、“关闭相机”。...点击“启动相机”后,屏幕会显示摄像头的取景,点击“点击拍照”后会拍下摄像头的取景,点击“关闭照相机”后会关闭摄像头的取景。 ?..."data"); Log.d("Test", "bmp width:" + bmp.getWidth() + ", height:" + bmp.getHeight());} 另外假如仅仅是调用系统照相机拍照...,不关心拍照结果,则可以简单使用如下代码 Intent intent = new Intent(); //调用照相机 intent.setAction("android.media.action.STILL_IMAGE_CAMERA

    1.8K50

    android 之旋转罗盘 风车 开发

    我要介绍的是一个 能旋转的view,说这个view能旋转有点不切实际,那是视觉效果,其实是对图片的旋转。目前它只支持图片。你可以把它认为是一个能响应手势旋转的View。...它的功能有: 1.会响应手势旋转 2.该view模拟真实罗盘旋转:a.旋转的时候会有惯性,继续旋转,而且是减速旋转b.旋转期间手指扳动罗盘,能加速罗盘旋转c.当罗盘在旋转的时候,手指按住罗盘,它会有刹车的效果...我们可以提供一个方法来设置旋转的图片,并定义旋转图片的成员变量,这里我将它命名为rotaBitmap public void setRotatBitmap(Bitmap bitmap) { rotatBitmap...图片的旋转是在ondraw()里实现的,通过一个变量:deta_degree 来控制旋转的度数 /** * 当前圆盘所转的弧度(以该 view 的中心为圆点) */ float deta_degree...; 然后用Matrix来控制旋转图片,主要是preRotate(deta_degree)这里的单位是度,360度为一圈,最后把旋转的图画到画布上 @Override protected void onDraw

    68210
    领券