解决ionic在手机上拍照图片旋转的问题
2017-08-24 12:13
176 查看
ionic项目使用手机拍照后图片在安卓手机上显示是旋转了90度的,这个时候需要借助外部js-----exif.js
1、先下载 exif.js 到项目中,用 npm 命令行:
npm install exif-js --save
2、然后在index.html引入:
<script src="exif.js"></script>
3、将exif.js文件复制到项目根目录下www文件夹中:
{项目目录}\www
4、html文件中写入:
<img #imgElement src="../assets/icon/3.jpg" (load)="getInfo()" [ngStyle]="{'transform': 'rotate(' + rorateAngle + 'deg)'}">
5、ts文件中写入:
import { Component, ViewChild, ElementRef, OnInit } from '@angular/core'
import { EXIF } from 'exif-js'旋转图片的方法:
1、先下载 exif.js 到项目中,用 npm 命令行:
npm install exif-js --save
2、然后在index.html引入:
<script src="exif.js"></script>
3、将exif.js文件复制到项目根目录下www文件夹中:
{项目目录}\www
4、html文件中写入:
<img #imgElement src="../assets/icon/3.jpg" (load)="getInfo()" [ngStyle]="{'transform': 'rotate(' + rorateAngle + 'deg)'}">
5、ts文件中写入:
import { Component, ViewChild, ElementRef, OnInit } from '@angular/core'
import { EXIF } from 'exif-js'旋转图片的方法:
getInfo() { console.log(this.imgElement.nativeElement) let that = this EXIF.getData(this.imgElement.nativeElement, function(){ const imgInfo = EXIF.getAllTags(this) const imgRotate = EXIF.getTag(this, 'Orientation') console.log(imgInfo) console.log(imgRotate) switch (imgRotate) { // 顺时针旋转90度 case 6: that.rorateAngle = 90 break; // 逆时针旋转90度 case 8: that.rorateAngle = -90 break; case 3: that.rorateAngle = 180 break; } console.log(that.rorateAngle) })注意: 因为图片完全加载好才能获取到信息进行旋转,所以要把方法放到load中
相关文章推荐
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- android拍照后图片路径的获取(解决不同手机存在拍照后旋转的问题)
- 解决android有的手机拍照后上传图片被旋转的问题
- Android部分手机拍照后获取的图片被旋转问题的解决方法
- android学习笔记----解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- android解决有些手机拍照图片旋转了角度的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 完美解决部分安卓手机调用系统拍照上传时图片旋转问题
- 解决android有的手机拍照后上传图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- Android 解决部分手机拍照后获取的图片被旋转的问题
- 解决android有的手机拍照后上传图片被旋转的问题
- Android 自定义拍照,解决图片旋转,拍照参数设置兼容问题