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 相关文章推荐
用prototype实现的简单小巧的多级联动菜单
Mar 24 Javascript
JS Array对象入门分析
Oct 30 Javascript
JQuery.ajax传递中文参数的解决方法 推荐
Mar 28 Javascript
jquery实现增加删除行的方法
Feb 03 Javascript
js实现百度联盟中一款不错的图片切换效果完整实例
Mar 04 Javascript
input点击后placeholder中的提示消息消失
Jan 15 Javascript
Angular2.js实现表单验证详解
Jun 23 Javascript
JavaScript寄生组合式继承实例详解
Jan 06 Javascript
JavaScript中call和apply方法的区别实例分析
Aug 03 Javascript
vue基础之data存储数据及v-for循环用法示例
Mar 08 Javascript
详解javascript函数写法大全
Mar 25 Javascript
JavaScript find()方法及返回数据实例
Apr 30 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
一首老MP3,致敬WAR3经典
2021/03/08 魔兽争霸
深入解析phpCB批量转换的代码示例
2013/06/27 PHP
php接口数据加密、解密、验证签名
2015/03/12 PHP
php基本函数汇总
2015/07/09 PHP
php封装的表单验证类完整实例
2016/10/19 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
Thinkphp 框架扩展之驱动扩展实例分析
2020/04/27 PHP
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
2007/04/20 Javascript
WEB页子窗口(showModalDialog和showModelessDialog)使用说明
2009/10/25 Javascript
ajax 缓存 问题 requestheader
2010/08/01 Javascript
如何用ajax来创建一个XMLHttpRequest对象
2012/12/10 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
Sublime Text 3常用插件及安装方法
2015/12/16 Javascript
JS动态增删表格行的方法
2016/03/03 Javascript
javascript学习之json入门
2016/12/22 Javascript
浅谈JS如何实现真正的对象常量
2017/06/25 Javascript
JS实现移动端整屏滑动的实例代码
2017/11/10 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
javascript闭包的使用之按钮切换功能
2018/08/30 Javascript
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
python通过smpt发送邮件的方法
2015/04/30 Python
Python编码爬坑指南(必看)
2016/06/10 Python
Python Sqlite3以字典形式返回查询结果的实现方法
2016/10/03 Python
python 计算文件的md5值实例
2017/01/13 Python
Python 实现随机数详解及实例代码
2017/04/15 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
对Python _取log的几种方式小结
2019/07/25 Python
Pandas实现DataFrame按行求百分数(比例数)
2019/12/27 Python
如何通过python实现全排列
2020/02/11 Python
python -v 报错问题的解决方法
2020/09/15 Python
利用html5 canvas动态画饼状图的示例代码
2018/04/02 HTML / CSS
澳洲小众品牌的集合网站:BNKR
2018/02/23 全球购物
毕业生找工作自荐书
2014/06/30 职场文书
数学教研活动总结
2014/07/02 职场文书
技术股份合作协议书
2014/10/05 职场文书
2016年中学端午节主题活动总结
2016/04/01 职场文书