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 相关文章推荐
encode脚本和normal脚本混用的问题与解决方法
Mar 08 Javascript
js 深拷贝函数
Dec 04 Javascript
javascript 动态加载 css 方法总结
Jul 11 Javascript
js bind 函数 使用闭包保存执行上下文
Dec 26 Javascript
jQuery获取当前对象标签名称的方法
Feb 07 Javascript
json对象与数组以及转换成js对象的简单实现方法
Jun 24 Javascript
前端微信支付js代码
Jul 25 Javascript
jQuery.Ajax()的data参数类型详解
Jul 23 jQuery
小程序组件之仿微信通讯录的实现代码
Sep 12 Javascript
VUE项目初建和常见问题总结
Sep 12 Javascript
vue实现购物车列表
Jun 30 Javascript
解决removeEventListener 无法清除监听的问题
Oct 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
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
destoon实现商铺管理主页设置增加新菜单的方法
2014/06/26 PHP
php在线解压ZIP文件的方法
2014/12/30 PHP
php实现的IMEI限制的短信验证码发送类
2015/05/05 PHP
PHP+HTML+JavaScript+Css实现简单爬虫开发
2016/03/28 PHP
php常用字符串String函数实例总结【转换,替换,计算,截取,加密】
2016/12/07 PHP
PHP实现微信商户支付企业付款到零钱功能
2018/09/30 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
javascript getElementsByTagName
2011/01/31 Javascript
JQuery中的$.getJSON 使用说明
2011/03/10 Javascript
jquery全选/全不选/反选另一种实现方法(配合原生js)
2013/04/07 Javascript
简单实用jquery版三级联动select示例
2013/07/04 Javascript
jquery checkbox 勾选的bug问题解决方案与分析
2014/11/13 Javascript
Node.js事件驱动
2015/06/18 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
Bootstrap字体图标无法正常显示的解决方法
2016/10/08 Javascript
javascript 中的事件委托详解
2016/10/25 Javascript
jQuery实现基本动画效果的方法详解
2018/09/06 jQuery
解决layer.confirm快速点击会重复触发事件的问题
2019/09/23 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
jQuery操作事件完整实例分析
2020/01/10 jQuery
解析Mac OS下部署Pyhton的Django框架项目的过程
2016/05/03 Python
Python中import导入上一级目录模块及循环import问题的解决
2016/06/04 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
2017/12/14 Python
Python 实现选择排序的算法步骤
2018/04/22 Python
python读取图片的方式,以及将图片以三维数组的形式输出方法
2019/07/03 Python
python使用tomorrow实现多线程的例子
2019/07/20 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
大韩航空官方网站:Korean Air
2017/10/25 全球购物
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
编辑求职信样本
2013/12/16 职场文书
三关爱志愿服务活动方案
2014/08/17 职场文书
2015年大学生党员承诺书
2015/04/27 职场文书
整脏治乱工作简报
2015/07/21 职场文书
PHP中->和=>的意思
2021/03/31 PHP
MySQL REVOKE实现删除用户权限
2021/06/18 MySQL