zoukankan      html  css  js  c++  java
  • 解决ionic在手机上拍照图片旋转的问题

    ionic项目使用手机拍照后图片在安卓手机上显示是旋转了90度的,这个时候需要借助外部js-----exif.js

    原理就是复用exif这个库获取图片的旋转信息,然后再根据图片的旋转角度调整到正常的角度。


    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中
    ————————————————
    版权声明:本文为CSDN博主「DIWUCH」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/DIWUCH/article/details/77528569

    喜欢的话,请点赞,转发、收藏、评论,谢谢!
  • 相关阅读:
    Baum Welch估计HMM参数实例
    SVM 为什么要从原始问题变为对偶问题来求解
    Baum-Welch算法(EM算法)对HMM模型的训练
    LR采用的Sigmoid函数与最大熵(ME) 的关系
    01背包的常数优化的一点解释
    训练中文词向量
    TensorFlow L2正则化
    TensorFlow batch normalize的使用
    听说你的模型损失是NaN
    编译TensorFlow CPU指令集优化版
  • 原文地址:https://www.cnblogs.com/johnjackson/p/14961904.html
Copyright © 2011-2022 走看看