ionic3-图片裁剪(AllowCrop)

准备

开始

  • 下载三个JS文件
  • 将下载的文件保存到web-app的src/assets/lib/alloycrop目录下(需要新建lib和alloycrop目录,你也可以修改自己的目录名,只要引入文件时写你的目录就行)
    如图:
    alloycrop.png
  • index.html文件中引入三个JS文件
    如图:
    index.html.png

    引入代码:
  <!--图片裁剪 AlloyCrop https://github.com/AlloyTeam/AlloyCrop-->
  <script src="./assets/lib/alloycrop/alloy-finger.js"></script>
  <script src="./assets/lib/alloycrop/transform.js"></script>
  <script src="./assets/lib/alloycrop/alloy-crop.js"></script>
  • 在自己的页面中(我的是crop-picture-demo.html)使用
    如图:


    图片.png

    代码:

  <img src="{{cropPicture}}">
  <button ion-button block (click)="crop()">裁剪图片</button>
  • 页面对应的ts文件中(我的是crop-picture-demo.ts),需要定义AlloyCrop:declare var AlloyCrop;
    如图:
    定义AlloyCrop.png
ts中.png

代码:

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';

//图片裁剪工具
declare var AlloyCrop;
/**
 * 图片裁剪
 * Add by JoyoDuan on 2017-10-03
 */

@IonicPage()
@Component({
  selector: 'page-crop-picture-demo',
  templateUrl: 'crop-picture-demo.html',
})
export class CropPictureDemoPage {

  cropPicture = 'assets/images/crop-picture.jpg';

  constructor(public navCtrl: NavController, public navParams: NavParams) {
  }

  ionViewDidLoad() {
    console.log('ionViewDidLoad CropPictureDemoPage');
  }

  //裁剪图片操作
  crop()
  {
    //https://github.com/AlloyTeam/AlloyCrop
    new AlloyCrop({
      image_src: 'assets/images/crop-picture.jpg',
      circle: true,   //是否是圆形剪切,false为方形
      width: 320,     //选区的宽
      height: 320,    //选区的高
      output: 1,      //输出的倍率。比如如果output为2,选区的宽300,选区的高100,输出的图像的分辨率为 (2×300,2×100)
      ok: (base64, canvas) => {   //确定裁剪操作
        this.cropPicture = base64;
      },
      cancel: () => {     //取消裁剪操作
      },
      ok_text: "确定",
      cancel_text: "取消"
    });
  }

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,057评论 25 709
  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 12,728评论 7 110
  • 中國这样的饮食大国,面食种类极为丰富,而面条作为面食的一种,其种类更是让人眼花缭乱。大江南北的饮食男女依据自...
    cactus仙人掌阅读 1,098评论 3 7
  • 从来不知道喜欢还可以这样深刻。 2013年暑假,初中毕业,明明知道还有高中要上,却也想浪够了再去学习,和其他人一样...
    米歇尔lyRU阅读 262评论 0 1