首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android旋转相机拍摄的照片

旋转Bitmap的方法非常简单,下面的代码将src文件中的图片读取为Bitmap并旋转了270度,也就是逆时针旋转了90度: val srcBitmap = BitmapFactory.decodeFile...270度的却只旋转了180度,每个方向的旋转都少了90度。...看着Logcat中不知为何出现的EXIF相关的日志信息,我突然猜想:是否照片中的EXIF中包含了照片朝向呢?...找到原因后,解决办法也非常简单了:在旋转之前先旋转一定的角度摆正照片,再追加需要旋转的角度。例如在我的一加手机上,当需要旋转180度时,实际需要旋转的角度就是90+180=270度。...使用上述方法之后,得到的图片果然符合预期了,看来Glide以及系统相册应用等都能正确处理照片EXIF中的朝向信息,而Bitmap类从文件读取图片的时候则直接丢弃了这些信息,原样读取了照片

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

    Android手机拍照后照片旋转或者需要旋转的问题

    1、读取图片的旋转属性 /**  * 读取图片的旋转的角度  *  * @param path  *            图片绝对路径  * @return 图片的旋转角度  */...bm.recycle(); } return returnBm; } 在部分Android手机(如MT788、Note2)上,使用Camera拍照以后,得到的照片会被自动旋转...仔细分析了一下,因为照片属性中是存储了旋转信息的,所以要解决这个问题,可以在onActivityResult方法中,获取到照片数据后,读取它的旋转信息,如果不是0,说明这个照片已经被旋转过了,那么再使用...android.graphics.Matrix将照片旋转回去即可。...// 当前用户选择的图片 ll_com_cover.setOnClickListener(new ImageDeleteListener());// 设置图片删除事件,用户上传了一张照片

    3.2K20

    html5 jqueryrotate插件实现旋转动画

    CSS3 提供了多种变形效果,比如矩阵变形、位移、缩放、旋转和倾斜等等,让页面更加生动活泼有趣,不再一动不动。...今天介绍一款 jQuery 插件——jqueryrotate,它可以实现旋转效果。jqueryrotate 支持所有主流浏览器,包括 IE6。...0 animateTo 数字 从当前的角度旋转到多少度 0 step 函数 每个动画步骤中执行的回调函数,当前角度值作为该函数的第一个参数 无 easing 函数 自定义旋转速度、旋转效果,需要使用...jQuery.easing.js 无 callback 函数 旋转完成后的回调函数 无 getRotateAngle 函数 返回旋转对象当前的角度 无 stopRotate 函数 停止旋转 无 演示虽然使用的是图片...同时,你可以发挥想象,制作出更多关于旋转的特效。

    4.6K60

    基于HTML5 Canvas 实现矢量工控风机叶轮旋转

    之前在拓扑上的应用都是些静态的图元,今天我们将在拓扑上设计一个会动的图元——叶轮旋转。...到这个叶轮的资源就做好了,那么接下来就是要让这个叶轮旋转起来了,我们先来分析下: 要让叶轮旋转起来,其实原理很简单,我们只需要设置rotation属性就可以实现了,但是这个rotation属性只有在不断的变化中...,才会让叶轮旋转起来,所以这个时候就需要用到定时器了,通过定时器来不断地设置rotation属性,让叶轮动起来。...果然生效了,这下好了,我们就可以让叶轮旋转变得更加完美了,来看看具体该这么做。...在2D上可以实现,在3D上一样可以实现,下一章我们就来讲讲叶轮旋转在3D上的应用,今天就先到这里,下面附上今天Demo的源码,有什么问题欢迎大家咨询。

    67840

    基于HTML5 Canvas 实现矢量工控风机叶轮旋转

    之前在拓扑上的应用都是些静态的图元,今天我们将在拓扑上设计一个会动的图元——叶轮旋转。...到这个叶轮的资源就做好了,那么接下来就是要让这个叶轮旋转起来了,我们先来分析下: 要让叶轮旋转起来,其实原理很简单,我们只需要设置rotation属性就可以实现了,但是这个rotation属性只有在不断的变化中...,才会让叶轮旋转起来,所以这个时候就需要用到定时器了,通过定时器来不断地设置rotation属性,让叶轮动起来。...果然生效了,这下好了,我们就可以让叶轮旋转变得更加完美了,来看看具体该这么做。...在2D上可以实现,在3D上一样可以实现,下一章我们就来讲讲叶轮旋转在3D上的应用,今天就先到这里,下面附上今天Demo的源码,有什么问题欢迎大家咨询。

    1.1K80

    基于HTML5 Canvas实现工控2D叶轮旋转

    之前在拓扑上的应用都是些静态的图元,今天我们将在拓扑上设计一个会动的图元——叶轮旋转。...到这个叶轮的资源就做好了,那么接下来就是要让这个叶轮旋转起来了,我们先来分析下: 要让叶轮旋转起来,其实原理很简单,我们只需要设置rotation属性就可以实现了,但是这个rotation属性只有在不断的变化中...,才会让叶轮旋转起来,所以这个时候就需要用到定时器了,通过定时器来不断地设置rotation属性,让叶轮动起来。...果然生效了,这下好了,我们就可以让叶轮旋转变得更加完美了,来看看具体该这么做。...在2D上可以实现,在3D上一样可以实现,下一章我们就来讲讲叶轮旋转在3D上的应用,今天就先到这里,下面附上今天Demo的源码,有什么问题欢迎大家咨询。

    1.1K50

    基于HTML5 WebGL实现3D飞机叶轮旋转

    在上一篇《基于HT for Web矢量实现2D叶轮旋转》中讲述了叶轮旋转在2D拓扑上的应用,今天我们就来讲讲叶轮旋转在3D上的应用。...到这里,模型就算完成了,接下来要做的就是让螺旋桨动起来,和2D叶轮旋转类似,在3D模型上也可以做数据绑定,要想让螺旋桨旋转起来,我们就需要设置螺旋桨的rotation属性,和3D上的图元不同的是,设置3D...图元的rotation属性需要设置一个数组,定义3D上三个方向的旋转值。...,我们要模拟飞机起飞和降落时螺旋桨的旋转速度该如何处理呢?...运行代码,你会发现螺旋桨在1.5秒后进入旋转状态,并且旋转速度由慢变快,再变慢直至停止,然后再过1.5秒后继续旋转,如此周而复始。

    1.4K80

    JPEGExifTIFF格式解读(4):win10照片旋转win7不识别。

    IFD0中的数据是由TIFF定义的基本图像数据,其中有些与照片无关,所以Exif只实现其中一小部分。这部份数据在Photoshop中称为TIFF元数据。...Exif subIFD中的数据是由Exif定义的元数据,都是和相机照片有关的数据,是Exif的主要数据,其中有一些与IFD0中的重复。...GPS subIFD 中的数据是记录照片的拍摄位置,对于没有GPS功能的相机,这里的数据都是空的。IFD1中的数据是缩略图的图像及该图像的元数据。...其他还有水平翻转,垂直翻转等,因照片拍摄没有这样的功能,所以没有列出。...https://www.jianshu.com/p/f5557c0e689e使用HTTP2和渐进式JPEG图片更快的加载图像 http转载本站文章《JPEG/Exif/TIFF格式解读(4):win10照片旋转

    1.4K10

    Android 三星手机拍照,从图库选择照片旋转问题完美解决

    https://blog.csdn.net/lyhhj/article/details/48995065 好久没有写博客了,最近解决了一个令我头疼好久的问题,就是三星手机拍照图片旋转的问题,项目中有上传图片的功能...,那么涉及到拍照,从相册中选择图片,别的手机都ok没有问题,唯独三星的手机拍照之后,你会很清楚的看到会把照片旋转一下,然后你根据路径找到的图片就是已经被旋转的了,解决办法终于被我找到了。...我们可以根据图片的路径读取照片exif(Exchangeable Image File 可交换图像文件)信息中的旋转角度,至于这个EXIF可以看一下大牛的文章 Android 下的EXIF 根据调试...,可以清楚的发现三星手机拍照的图片的旋转角度是90度,而别的手机旋转角度是0度 看一下代码: /** * 读取照片exif信息中的旋转角度 * @param path 照片路径...(IOException e) { e.printStackTrace(); } return degree; } 那么我们只需要根据旋转角度将图片旋转过来就

    2.1K10

    Threejs入门之六:利用HTML5的requestAnimationFrame方法实现物体的旋转

    认识requestAnimationFramerequestAnimationFrame是html5 提供一个专门用于请求动画的API,用法与settimeout很相似,只是不需要设置时间间隔而已。...,给它一个旋转弧度,使其沿y周旋转// 定义一个render函数function render() { // requestAnimationFrame 实现周期性循环执行 mesh.rotateY...,这里要注意,我们在render周期函数中每次都让mesh旋转0.01孤度,其实是已经执行了的,但是我们的渲染器没有更新,所以不会显示 我们应该将渲染器的渲染函数也放到render中// 定义一个render...函数function render() { // requestAnimationFrame mesh.rotateY(0.01)//沿y轴旋转的弧度,单位 弧度 renderer.render...(scene,camera) requestAnimationFrame(render)//请求再次执行渲染函数render,渲染下一帧}render()刷新浏览器,发现物体已经沿y轴自动旋转了。

    1.4K20

    实践 | 移动端图片上传旋转、压缩的解决方案

    这些手机竖着拍的时候才会出现这种问题,横拍出来的照片就正常显示。因此,可以通过获取手机拍照角度来对照片进行旋转,从而解决这个问题。...上传的文件经过 fileReader.readAsDataURL(file) 就可以实现预览图片了,这方面不清楚的可以查看:HTML5 进阶系列:文件上传下载(https://github.com/lin-xin...旋转的原理如下图: 旋转之后,如果从 ( 0, 0 ) 点进行 drawImage(),那么画出来的位置就是在左图中的旋转 90 度后的位置,不在可视区域呢。...压缩 手机拍出来的照片太大,而且使用 base64 编码的照片会比原照片大,那么上传的时候进行压缩就非常有必要的。...现在的手机像素这么高,拍出来的照片宽高都有几千像素,用 canvas 来渲染这照片的速度会相对比较慢。 因此第一步需要先对上传照片的宽高做限制,判断宽度或高度是否超出哪个范围,则等比压缩其宽高。

    2.1K20

    让世界充满爱的图片处理工具 | 码云周刊第 30 期

    其主要功能如下所示: 特效:16种精选特效,LOMO、移轴任你选; 相框:精美相框不限量,在线相框源源不断; 裁剪:各种比例,极其流畅,剪裁照片也能不一样; 旋转旋转,翻转都可以,还有自由旋转等你来发现...; 调色:亮度、对比度、饱和度任意调节,调节过度不再是个问题; 即拍即用,拍好照片就能美化和分享; 微信,QQ空间,腾讯微博,新浪微博,人人网,电子邮件,Facebook,Flickr,多个平台,快乐齐分享...项目地址: https://gitee.com/dongfangx/image 贰 项目名称:基于 HTML5 的专业图像处理库 AlloyImage 强大功能: 基于多图层操作 -- 一个图层的处理不影响其他图层...; GIF 与 MP4,图片互转实现测试与接口封装; 项目地址: https://gitee.com/jarlen/PhotoEditDemo 肆 项目名称:html5 在线定制图片 项目地址: https...给出标准样式的照片大小、水印大小、水印位置,循环遍历或者根据数据库字段遍历添加水印,根据比例计算合适的水印大小和位置。

    1K50

    移动端图片上传旋转、压缩的解决方案

    前言 在手机上通过网页 input 标签拍照上传图片,有一些手机会出现图片旋转了90度的问题,包括 iPhone 和个别三星手机。这些手机竖着拍的时候才会出现这种问题,横拍出来的照片就正常显示。...因此,可以通过获取手机拍照角度来对照片进行旋转,从而解决这个问题。 Orientation 这个参数并不是所有图片都有的,不过手机拍出来的图片是带有这个参数的。...上传的文件经过 fileReader.readAsDataURL(file) 就可以实现预览图片了,这方面不清楚的可以查看:HTML5 进阶系列:文件上传下载 旋转 旋转需要用到 canvas 的 rotate...压缩 手机拍出来的照片太大,而且使用 base64 编码的照片会比原照片大,那么上传的时候进行压缩就非常有必要的。...现在的手机像素这么高,拍出来的照片宽高都有几千像素,用 canvas 来渲染这照片的速度会相对比较慢。 因此第一步需要先对上传照片的宽高做限制,判断宽度或高度是否超出哪个范围,则等比压缩其宽高。

    4.8K60

    _图片旋转

    题目描述         图片旋转是对图片最简单的处理方式之一,在本题中,你需要对图片顺时针旋转90度。...我们用一个nxm的二维数组来表示一个图片,例如下面给出一个3x4的图片的例子:1 3 5 7 9 8 7 6 3 5 9 7 这个图片顺时针旋转90度后的图片如下: 3 9 15 8 39 7...57 6 7 给定初始图片,请计算旋转后的图片。...输出描述:         输出m行n列,表示旋转后的图片那这道题就比较简单了,旋转后的第一行对应的就是旋转前的第一列对吧,那这样很多人就会想不就是后【i】【j】 = 前【j】【i】得到的结果却是:很多人以为直接换就是了...,其实不然,你会发现这样替换的话,得到的结果和每一行的次序刚好颠倒了,为什么呢,因为就是第一行第一列的值旋转后要到第一行最后一列去了; 因此应该这样替换后【i】【j】= 前【n-1-j】【i】得到的结果是

    10700
    领券