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)'}">
- 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)
- })