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实现自定义弹窗示例
Mar 12 Javascript
js隐式全局变量造成的bug示例代码
Apr 22 Javascript
node.js下when.js 的异步编程实践
Dec 03 Javascript
Javascript中的方法链(Method Chaining)介绍
Mar 15 Javascript
使用AngularJS 应用访问 Android 手机的图片库
Mar 24 Javascript
几种tab切换详解
Feb 03 Javascript
vue监听滚动事件实现滚动监听
Apr 11 Javascript
Vue.js tab实现选项卡切换
May 16 Javascript
用纯Node.JS弹出Windows系统消息提示框实例(MessageBox)
May 17 Javascript
ES6解构赋值的功能与用途实例分析
Oct 31 Javascript
GOJS+VUE实现流程图效果
Dec 01 Javascript
vue实现标签云效果的示例
Nov 09 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
附件名前加网站名
2008/03/23 PHP
完美解决令人抓狂的zend studio 7代码提示(content Assist)速度慢的问题
2013/06/20 PHP
利用phpexcel把excel导入数据库和数据库导出excel实现
2014/01/09 PHP
php输出1000以内质数(素数)示例
2014/02/16 PHP
ThinkPHP自定义函数解决模板标签加减运算的方法
2015/07/03 PHP
作为程序员必知的16个最佳PHP库
2015/12/09 PHP
PHP 绘制网站登录首页图片验证码
2016/04/12 PHP
php数据访问之增删改查操作
2016/05/09 PHP
Javascript 模式实例 观察者模式
2009/10/24 Javascript
使用原生js封装webapp滑动效果(惯性滑动、滑动回弹)
2014/05/06 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
JavaScript基础知识及常用方法总结
2016/01/10 Javascript
解析JavaScript实现DDoS攻击原理与保护措施
2016/12/26 Javascript
VueJS 集成 Medium Editor的示例代码 (自定义编辑器按钮)
2017/08/24 Javascript
详解为Bootstrap Modal添加拖拽的方法
2018/01/05 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
jquery实现垂直无限轮播的方法分析
2019/07/16 jQuery
Vue 中 filter 与 computed 的区别与用法解析
2019/11/21 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
[01:23:59]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 VP vs Secret
2018/04/03 DOTA
Ubuntu下创建虚拟独立的Python环境全过程
2017/02/10 Python
对Python3 goto 语句的使用方法详解
2019/02/16 Python
Django 路由层URLconf的实现
2019/12/30 Python
pycharm全局搜索的具体步骤
2020/07/28 Python
HTML5有哪些新特征
2015/12/01 HTML / CSS
在职人员函授期间自我评价分享
2013/11/08 职场文书
工厂车间标语
2014/06/19 职场文书
检查机关党的群众路线个人整改措施
2014/10/04 职场文书
手术室护士个人总结
2015/02/13 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
生日祝酒词大全
2015/08/10 职场文书
python flask框架快速入门
2021/05/14 Python
Windows下用Nginx配置https服务器及反向代理的问题
2021/09/25 Servers
python编程项目中线上问题排查与解决
2021/11/01 Python
Java设计模式之代理模式
2022/04/22 Java/Android
WinServer2012搭建DNS服务器的方法步骤
2022/06/10 Servers