AngularJS通过ng-Img-Crop实现头像截取的示例


Posted in Javascript onAugust 17, 2017

最近闲着无聊,写了一个实用代码,AngularJS通过ng-Img-Crop实现头像截取,分享给大家

1.安装插件

bower install ngImgCrop

2.引入插件

<script src="ng-img-crop.js"></script>

<link rel="stylesheet" type="text/css" href="ng-img-crop.css" rel="external nofollow" rel="external nofollow" >

3.添加依赖

var app = angular.module('myApp', ['ngImgCrop']);

4.用法

<img-crop image="myImage" result-image="myCroppedImage"></img-crop>

5.参数

<img-crop
  image="{string}"         //需要截取的图片变量名
  result-image="{string}"     //截取后所赋值的变量名
  [change-on-fly="{boolean}"]    //是否实时更新用户截取图像的预览,若为否,则会等用户停止动作后更新预览的图像
  [area-type="{circle|square}"]   //截取图像框的形状(圆形或正方形)
  [area-min-size="{number}"]    //截取图像框的最小面积
  [result-image-size="{number}"]  //截取后图像的大小
  [result-image-format="{string}"] //截取后图像的格式
  [result-image-quality="{number}"] //截取后图像的质量
  [on-change="{expression}"]    
  [on-load-begin="{expression"]
  [on-load-done="{expression"]
  [on-load-error="{expression"]
></img-crop>

6.Demo

<html>
<head>
 <script src="angular.js"></script>
 <script src="ng-img-crop.js"></script>
 <link rel="stylesheet" type="text/css" href="ng-img-crop.css" rel="external nofollow" rel="external nofollow" >
 <style>
  .cropArea {
   background: #E4E4E4;
   overflow: hidden;
   width:500px;
   height:350px;
  }
 </style>
 <script>
  angular.module('app', ['ngImgCrop'])
   .controller('Ctrl', function($scope) {
    $scope.myImage='';
    $scope.myCroppedImage='';

    var handleFileSelect=function(evt) {
     var file=evt.currentTarget.files[0];
     var reader = new FileReader();
     reader.onload = function (evt) {
      $scope.$apply(function($scope){
       $scope.myImage=evt.target.result;
      });
     };
     reader.readAsDataURL(file);
    };
    angular.element(document.querySelector('#fileInput')).on('change',handleFileSelect);
   });
 </script>
</head>
<body ng-app="app" ng-controller="Ctrl">
 <div>Select an image file: <input type="file" id="fileInput" /></div>
 <div class="cropArea">
  <img-crop image="myImage" result-image="myCroppedImage"></img-crop> 
  <!-- 截取图片框 -->
 </div>
 <div>Cropped Image:</div>
 <div><img ng-src="{{myCroppedImage}}" /></div>
 <!-- 预览图片框 -->
</body>
</html>

7.官方文档

https://github.com/alexk111/ngImgCrop

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

Javascript 相关文章推荐
Jquery 表单取值赋值的一些基本操作
Oct 11 Javascript
JavaScript DOM 学习第七章 表单的扩展
Feb 19 Javascript
js与jQuery 获取父窗、子窗的iframe
Dec 20 Javascript
使用JSON.parse将json字符串转换成json对象的时候会出错
Sep 04 Javascript
移动手机APP手指滑动切换图片特效附源码下载
Nov 30 Javascript
Jquery树插件zTree实现菜单树
Jan 24 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
Apr 18 Javascript
vue router学习之动态路由和嵌套路由详解
Sep 21 Javascript
layui--js控制switch的切换方法
Sep 03 Javascript
24行JavaScript代码实现Redux的方法实例
Nov 17 Javascript
javascript实现计算器功能
Mar 30 Javascript
vue3.0 的 Composition API 的使用示例
Oct 26 Javascript
Javascript中的getter和setter初识
Aug 17 #Javascript
简单实现js进度条加载效果
Mar 25 #Javascript
你可能不知道的JSON.stringify()详解
Aug 17 #Javascript
vue组件Prop传递数据的实现示例
Aug 17 #Javascript
js实现随机点名小功能
Aug 17 #Javascript
浅谈Vuejs Prop基本用法
Aug 17 #Javascript
简单快速的实现js计算器功能
Aug 17 #Javascript
You might like
php FLEA中二叉树数组的遍历输出
2012/09/26 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
PHP语法自动检查的Vim插件
2014/08/11 PHP
javascript处理table表格的代码
2010/12/06 Javascript
原生javascript获取元素样式属性值的方法
2010/12/25 Javascript
Jquery 在页面加载后执行的几种方式
2014/03/14 Javascript
javascript 动态创建表格的2种方法总结
2015/03/04 Javascript
ECMAScript6中Map/WeakMap详解
2015/06/12 Javascript
jQuery实现复选框批量选择与反选的方法
2015/06/17 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
JavaScript BASE64算法实现(完美解决中文乱码)
2017/01/10 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
2017/09/05 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
Node.js Windows Binary二进制文件安装方法
2019/05/16 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
2019/09/26 Javascript
vue 使用鼠标滚动加载数据的例子
2019/10/31 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
vant-ui框架的一个bug(解决切换后onload不触发)
2020/11/11 Javascript
python self,cls,decorator的理解
2009/07/13 Python
python代码检查工具pylint 让你的python更规范
2012/09/05 Python
python自动翻译实现方法
2016/05/28 Python
python生成ppt的方法
2018/06/07 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
Python常见数字运算操作实例小结
2019/03/22 Python
Python利用pandas处理Excel数据的应用详解
2019/06/18 Python
python定间隔取点(np.linspace)的实现
2019/11/27 Python
基于第一个PhoneGap(cordova)的应用详解
2013/05/03 HTML / CSS
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
夜不归宿检讨书
2014/02/25 职场文书
教师纪念9.18事件演讲稿范文
2014/09/14 职场文书
2014年高中生自我评价范文
2014/09/26 职场文书
卖房授权委托书样本
2014/10/05 职场文书
教你用Java在个人电脑上实现微信扫码支付
2021/06/13 Java/Android