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 相关文章推荐
在JavaScript中获取请求的URL参数
Dec 22 Javascript
jQuery 在光标定位的地方插入文字的插件
May 10 Javascript
js之事件冒泡和事件捕获详细介绍
Oct 28 Javascript
js形成页面的一种遮罩效果实例代码
Jan 04 Javascript
使用js判断当前时区TimeZone是否是夏令时
Feb 23 Javascript
jQuery实现的原图对比窗帘效果
Jun 15 Javascript
TypeScript Type Innference(类型判断)
Mar 10 Javascript
DOM操作和jQuery实现选项移动操作的简单实例
Jun 07 Javascript
require.js 加载 vue组件 r.js 合并压缩的实例
Oct 14 Javascript
vue.js如何将echarts封装为组件一键使用详解
Oct 10 Javascript
vue 实现数字滚动增加效果的实例代码
Jul 06 Javascript
在vue中使用回调函数,this调用无效的解决
Aug 11 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投票程序源码
2007/03/11 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
走出JavaScript初学困境—js初学
2008/12/29 Javascript
Jquery工作常用实例 使用AJAX使网页进行异步更新
2011/07/26 Javascript
Jquery post传递数组方法实现思路及代码
2013/04/28 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
2014/12/29 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
JS实现横向与竖向两个选项卡Tab联动的方法
2015/09/27 Javascript
jquery+json实现动态商品内容展示的方法
2016/01/14 Javascript
Angular2内置指令NgFor和NgIf详解
2016/08/03 Javascript
JavaScript浮点数及运算精度调整详解
2016/10/21 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
jQuery实现定时隐藏对话框的方法分析
2018/02/12 jQuery
nodejs前端模板引擎swig入门详解
2018/05/15 NodeJs
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
JavaScript定时器常见用法实例分析
2019/11/15 Javascript
深入解析Python中的__builtins__内建对象
2016/06/21 Python
python实现12306火车票查询器
2017/04/20 Python
python筛选出两个文件中重复行的方法
2018/05/31 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
Python tkinter三种布局实例详解
2020/01/06 Python
Python在后台自动解压各种压缩文件的实现方法
2020/11/10 Python
python绘制雷达图实例讲解
2021/01/03 Python
美体小铺奥地利官方网站:The Body Shop奥地利
2019/04/11 全球购物
WSDL的操作类型主要有几种
2013/07/19 面试题
高中毕业自我鉴定
2013/12/13 职场文书
生物科学专业毕业生求职信
2014/06/02 职场文书
离婚承诺书格式范文
2015/05/04 职场文书
责任书格式
2019/04/18 职场文书
导游词之西递宏村
2019/12/10 职场文书
Mysql实现简易版搜索引擎的示例代码
2021/08/30 MySQL
你真的会用Mysql的explain吗
2022/03/31 MySQL