ngImgCrop是AngularJS的一个图片裁剪插件,它实际上是一个封装好的AngularJs指令,可以让用户以圆框或者方框来裁剪图片

1、使用效果截图
2、demo演示
demo演示地址 http://jsfiddle.net/alexk111/rw6q9/
3、下载安装
可以使用两种方式来下载ngImgCrop插件
a、GitHub下载:git clone https://github.com/alexk111/ngImgCrop.git
b、bower安装,如果项目中使用了bower,使用命令bower install ngImgCrop即可
4、添加js和css依赖到项目中
<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" >
5、添加AngularJs依赖
var myAppModule = angular.module('MyApp', ['ngImgCrop']);
6、使用样例
<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、属性介绍
<img-crop
image="{string}" 需要进行裁剪的图片文件 如$scope.myImage
result-image="{string}" 保存裁剪结果的图片文件 如$scope.myCroppedImage
[change-on-fly="{boolean}"] 可选项:表示是否在拖拽裁剪区域时实时更新结果文件
[area-type="{circle|square}"] 可选项:表示裁剪窗口是方的还是圆的,默认是圆的
[area-min-size="{number}"] 可选项,表示裁剪结果的最小大小,默认是80,即结果最小是高80像素、宽80像素
[result-image-size="{number}"] 可选项,表示裁剪结果大小,默认是200,即高200像素、宽200像素
[result-image-format="{string}"] 可选项,表示裁剪结果保存的文件类型,可以选择image/jpeg、image/png、image/webp,默认是image/png
[result-image-quality="{number}"] 可选项,表示裁剪结果的质量,取值在0.0到1.0之间
[on-change="{expression}"] 可选项,检测到图片修改后执行的表达式
[on-load-begin="{expression"] 可选项,图片开始加载执行的表达式
[on-load-done="{expression"] 可选项,图片加载完成执行的表达式
[on-load-error="{expression"] 可选项,图片加载失败执行的表达式
></img-crop>
8、注意点
结果文件是base64的格式,如果是直接展示的话没有问题,如果是以文件格式要将图片上传给后台服务器,那么还需要将base64转换成图片文件格式,附上我自己的转换代码
$scope.file可直接作为File文件格式上传至后台服务器
function getBlobBydataURL(dataURI,type){
var binary = atob(dataURI.split(',')[1]);
var array = [];
for(var i = 0; i < binary.length; i++) {
array.push(binary.charCodeAt(i));
}
return new Blob([new Uint8Array(array)], {type:type });
}
var $Blob = getBlobBydataURL($scope.myCroppedImage,"image/png");
$scope.file = $Blob;
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# ngimgcrop
# 裁剪
# Angular
# 图片裁剪
相关文章:
武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?
微信小程序 五星评分(包括半颗星评分)实例代码
太原网站制作公司有哪些,网约车营运证查询官网?
免费制作海报的网站,哪位做平面的朋友告诉我用什么软件做海报比较好?ps还是cd还是ai这几个软件我都会些我是做网页的?
如何在阿里云高效完成企业建站全流程?
建站之星安装步骤有哪些常见问题?
如何生成腾讯云建站专用兑换码?
如何高效搭建专业期货交易平台网站?
如何确保西部建站助手FTP传输的安全性?
哈尔滨网站建设策划,哈尔滨电工证查询网站?
如何通过VPS建站实现广告与增值服务盈利?
如何快速查询网址的建站时间与历史轨迹?
建站之星后台密码如何安全设置与找回?
建站之星如何助力企业快速打造五合一网站?
如何快速登录WAP自助建站平台?
微信网站制作公司有哪些,民生银行办理公司开户怎么在微信网页上查询进度?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
智能起名网站制作软件有哪些,制作logo的软件?
建站之星导航如何优化提升用户体验?
潮流网站制作头像软件下载,适合母子的网名有哪些?
如何快速生成凡客建站的专业级图册?
怀化网站制作公司,怀化新生儿上户网上办理流程?
c# 在高并发场景下,委托和接口调用的性能对比
Android自定义控件实现温度旋转按钮效果
建站之星后台密码遗忘如何找回?
制作ppt免费网站有哪些,有哪些比较好的ppt模板下载网站?
如何配置支付宝与微信支付功能?
C++用Dijkstra(迪杰斯特拉)算法求最短路径
Android滚轮选择时间控件使用详解
定制建站流程步骤详解:一站式方案设计与开发指南
深圳网站制作培训,深圳哪些招聘网站比较好?
如何在企业微信快速生成手机电脑官网?
企业微网站怎么做,公司网站和公众号有什么区别?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
无锡营销型网站制作公司,无锡网选车牌流程?
c# 服务器GC和工作站GC的区别和设置
如何用AWS免费套餐快速搭建高效网站?
免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
如何获取免费开源的自助建站系统源码?
如何高效配置IIS服务器搭建网站?
长春网站建设制作公司,长春的网络公司怎么样主要是能做网站的?
股票网站制作软件,网上股票怎么开户?
网站制作公司,橙子建站是合法的吗?
香港服务器建站指南:外贸独立站搭建与跨境电商配置流程
如何规划企业建站流程的关键步骤?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
昆明高端网站制作公司,昆明公租房申请网上登录入口?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
*请认真填写需求信息,我们会在24小时内与您取得联系。