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实现后台左侧菜单点击上下滑动显示
Apr 11 Javascript
如何使用Javascript获取距今n天前的日期
Jul 08 Javascript
JavaScript通过元素索引号删除数组中对应元素的方法
Mar 18 Javascript
JavaScript中用sort()方法对数组元素进行排序的操作
Jun 09 Javascript
详解AngularJS中的filter过滤器用法
Jan 04 Javascript
BootStrap table使用方法分析
Nov 08 Javascript
详解webpack import()动态加载模块踩坑
Jul 17 Javascript
详解vue微信网页授权最终解决方案
Jun 16 Javascript
如何使用CSS3和JQuery easing 插件制作绚丽菜单
Jun 18 jQuery
Vue 实现从小到大的横向滑动效果详解
Oct 16 Javascript
javascript实现异形滚动轮播
Nov 28 Javascript
vue打开子组件弹窗都刷新功能的实现
Sep 21 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使用memcoder将视频转成mp4格式的方法
2015/03/12 PHP
PHP超牛逼无限极分类生成树方法
2015/05/11 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
动态创建样式表在各浏览器中的差异测试代码
2011/09/13 Javascript
jquery五角星评分插件示例分享
2014/02/21 Javascript
javascript实现可拖动变色并关闭层窗口实例
2015/05/15 Javascript
JavaScript实现给按钮加上双重动作的方法
2015/08/14 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
JavaScript实现定时页面跳转功能示例
2017/02/14 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
详解用webpack把我们的业务模块分开打包的方法
2017/07/20 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
react 实现页面代码分割、按需加载的方法
2018/04/03 Javascript
vue动态注册组件实例代码详解
2019/05/30 Javascript
vue 实现LED数字时钟效果(开箱即用)
2019/12/08 Javascript
JS检测浏览器开发者工具是否打开的方法详解
2020/10/02 Javascript
在 Python 应用中使用 MongoDB的方法
2017/01/05 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
2017/07/28 Python
Python中pygal绘制雷达图代码分享
2017/12/07 Python
python中dict字典的查询键值对 遍历 排序 创建 访问 更新 删除基础操作方法
2018/09/13 Python
利用Python将数值型特征进行离散化操作的方法
2018/11/06 Python
对python借助百度云API对评论进行观点抽取的方法详解
2019/02/21 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
python中update的基本使用方法详解
2019/07/17 Python
Python 实现取多维数组第n维的前几位
2019/11/26 Python
Python读取实时数据流示例
2019/12/02 Python
python实现人机五子棋
2020/03/25 Python
python 基于卡方值分箱算法的实现示例
2020/07/17 Python
css3 中translate和transition的使用方法
2020/03/26 HTML / CSS
HTML5 实现图片上传预处理功能
2020/02/06 HTML / CSS
学院书画协会部门职责
2013/11/28 职场文书
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
人力资源管理专业应届生求职信
2014/04/24 职场文书
护理目标管理责任书
2014/07/25 职场文书
罚款通知怎么写
2015/04/22 职场文书
2015年骨干教师工作总结
2015/05/26 职场文书