详细AngularJs4的图片剪裁组件的实例


Posted in Javascript onJuly 12, 2017

本文介绍了AngularJs4的图片剪裁组件,下面我来记录一下,有需要了解AngularJs4的图片剪裁组件的朋友可参考。希望此文章对各位有所帮助。

jQuery里有一个强大的图片剪裁插件,叫cropper.js。这是大神的GitHub地址:https://github.com/fengyuanchen/cropper

首先想在全是ts文件的angular里运用jquery的js代码插件,这时候需要一个东西,他叫桥接文件。npm是一个强大的库,已经有前人在里面封装了cropper以及所有你能想到想不到的插件,你需要做的只是安装上就好了。需要在webstorm的Terminal里敲npm install cropperJs 这样在node_modules文件夹里就会出现cropperjs的文件。有一个@types的文件夹,里面放着你需要用到相对应js插件的ts桥接文件。在Terminal里敲npm install @types/cropperjs

忘了说 在@types下有一个叫index.d.ts的文件,里面有示例:https://github.com/DefinitelyTyped/DefinitelyTyped,在types下搜cropper,有个文件cropperjs-tests.ts,就能看到一个例子,长这样:

import * as Cropper from 'cropperjs';

var image = <HTMLImageElement>document.getElementById('image');
var cropper = new Cropper(image, {
 aspectRatio: 16 / 9,
 crop: function(e) {
  console.log(e.detail.x);
  console.log(e.detail.y);
  console.log(e.detail.width);
  console.log(e.detail.height);
  console.log(e.detail.rotate);
  console.log(e.detail.scaleX);
  console.log(e.detail.scaleY);
 }
});

接下来就可以写代码啦啦啦啦~~

创建一个component

import {Component, Input, AfterViewInit, ViewEncapsulation} from '@angular/core';
import * as Cropper from 'cropperjs';

@Component({
 selector: 'cropper',
 templateUrl: './cropper.component.html',
 styleUrls: ['./cropper.component.less'],
 encapsulation: ViewEncapsulation.None
})

import * as Cropper from 'cropperjs';这个是引用cropper的方式。

encapsulation: ViewEncapsulation.None 因为angular会封装自己的样式,导致自己在less文件里写的样式不生效,这句的意义在于,不让angular生效自己封装的样式。

想要实现点击一个按钮,弹出一个框让你选图片,需要做的是写一个change事件,获取到选中图片的路径,然后运用cropper里的替换路径的replace方法,就能完成换图片显示了。

<input type="file" accept="image/jpeg" (change)="getImgUrl($event)">
getImgUrl($event) {
  this.cropper.replace(window.URL.createObjectURL($event.path[0].files[0])) ;
  console.log($event);
 }

$event 是整个事件对象。

接下来就可以添加自己需要的功能了,比如说向右旋转90度。

<button (click)="rotateRight()">rotate</button>
rotateRight() {
  console.log(this.cropper.getData());
  this.cropper.rotate(90);
 }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Javascript拓展String方法小结
Jul 08 Javascript
AngularJs中route的使用方法和配置
Feb 04 Javascript
jQuery Ajax File Upload实例源码
Dec 12 Javascript
MUI实现上拉加载和下拉刷新效果
Jun 30 Javascript
vue.js学习之vue-cli定制脚手架详解
Jul 02 Javascript
利用jQuery异步上传文件的插件用法详解
Jul 19 jQuery
Three.js基础学习之场景对象
Sep 27 Javascript
Vue自定义toast组件的实例代码
Aug 15 Javascript
详解关于Vue2.0路由开启keep-alive时需要注意的地方
Sep 18 Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 Javascript
Node.js学习之内置模块fs用法示例
Jan 22 Javascript
Vue 实现监听窗口关闭事件,并在窗口关闭前发送请求
Sep 01 Javascript
JS中使用gulp实现压缩文件及浏览器热加载功能
Jul 12 #Javascript
Vue中的数据监听和数据交互案例解析
Jul 12 #Javascript
js 监控iframe URL的变化实例代码
Jul 12 #Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
Jul 12 #jQuery
浅谈原生JS中的延迟脚本和异步脚本
Jul 12 #Javascript
基于zepto.js实现手机相册功能
Jul 11 #Javascript
React-Native实现ListView组件之上拉刷新实例(iOS和Android通用)
Jul 11 #Javascript
You might like
Zend Guard一些常见问题解答
2008/09/11 PHP
php中取得文件的后缀名?
2012/02/20 PHP
PHP判断文件是否被引入的方法get_included_files用法示例
2016/11/29 PHP
PHP 范围解析操作符(::)用法分析【访问静态成员和类常量】
2020/04/14 PHP
用Div仿showModalDialog模式菜单的效果的代码
2007/03/05 Javascript
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
提高jQuery性能的十个诀窍
2013/11/14 Javascript
JavaScript运行时库属性一览表
2014/03/14 Javascript
JS验证IP,子网掩码,网关和MAC的方法
2015/07/02 Javascript
JavaScript常用本地对象小结
2016/03/28 Javascript
纯JS代码实现隔行变色鼠标移入高亮
2016/11/23 Javascript
ES6正则表达式的一些新功能总结
2017/05/09 Javascript
jQuery选择器特殊字符与属性空格问题
2017/08/14 jQuery
mac上配置Android环境变量的方法
2018/07/08 Javascript
js调用设备摄像头的方法
2018/07/19 Javascript
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
原生js实现贪吃蛇游戏
2020/10/26 Javascript
Python文件夹与文件的操作实现代码
2014/07/13 Python
Python实现深度遍历和广度遍历的方法
2019/01/22 Python
Python队列、进程间通信、线程案例
2019/10/25 Python
python清空命令行方式
2020/01/13 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
Python爬虫逆向分析某云音乐加密参数的实例分析
2020/12/04 Python
html5 canvas-1.canvas介绍(hello canvas)
2013/01/07 HTML / CSS
html5 乒乓球(碰撞检测)实例二
2013/07/25 HTML / CSS
美国领先的水果篮送货公司和新鲜水果供应商:The Fruit Company
2018/02/13 全球购物
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
应届生个人求职信模板
2013/11/26 职场文书
大学教师师德师风演讲稿
2014/08/22 职场文书
催款律师函范文
2015/05/27 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
2017寒假社会实践心得体会范文
2016/01/14 职场文书
四年级数学教学反思
2016/02/16 职场文书
Win11快速关闭所有广告推荐
2022/04/19 数码科技