cropper.js头像剪裁

引入和使用

<link  href="/path/to/cropper.css" rel="stylesheet">
<script src="/path/to/cropper.js"></script>

HTML结构

<div class="demo">
  <img id="demoImg" src="default.png"/>
</div

项目引入

var cropper = new Cropper(image, {
        aspectRatio: 16 / 9,
        viewMode:1,
        crop: function (e) {
            console.log(e.detail.x);
            console.log(e.detail.y);
            console.log(e.detail.width);
            console.log(e.detail.height);
            console.log(e.detail.rotate);
            console.log(e.detail.scaleX);
            console.log(e.detail.scaleY);
        }
    });

参数options

1.viewMode—定义cropper的视图模式

类型:number;默认:0;可以使用0,1,2,3;



0:没有限制,3可以移动到2外。 
1 : 3只能在2内移动。 
2:2图片 不全部铺满1 (即缩小时可以有一边出现空隙) 
3:2图片填充整个1

2.ragMode —-定义cropper的拖拽模式。

类型: String
默认: ‘crop’
选项:
‘crop’: 可以产生一个新的裁剪框3
‘move’: 只可以移动3
‘none’: 什么也不处理

3.aspectRatio—-裁剪框的宽高比

类型:number;默认:NAN;
在默认的时候。可以随意改变裁剪框的大小;

4.data—如果您已经存储了以前的数据,那么在构建时将会自动将其传递给setData方法。

类型:object;默认:null;

5.preview—-添加额外的元素(容器)以供预览

类型:Element / String 默认:“ ”;
注意这里是一个dom元素。必须可以被Document.querySelectorAll获取到;
preview:".small",
HTML结构:<div class="small"></div>;注意一定要设置small的宽高;最好和裁剪比例一致;还有如果要想正确的显示出裁剪的区域需要加上样式overflow: hidden; 

6.responsive—在调整窗口大小的时候重新渲染cropper

类型:Boolean 默认:true;

7.restore—在调整窗口大小后恢复裁剪的区域。

类型:Boolean 默认:true;

8.checkCrossOrigin—-检查当前图像是否为跨域图像

类型:Boolean 默认:true;

9.checkOrientation—-检查当前图像的Exif定向信息。

类型:Boolean 默认:true; 

10.modal—显示图片上方的黑色模态并在裁剪框下面。

类型:Boolean 默认:true; 

11.guides—显示在裁剪框上方的虚线。

类型:Boolean 默认:true; 

12.center—裁剪框在图片正中心。

类型:Boolean 默认:true;

13.highlight–在裁剪框上方显示白色的区域(突出裁剪框)。

类型:Boolean 默认:true;

14.background–显示容器的网格背景。

类型:Boolean 默认:true;

15.autoCrop–当初始化时,可以自动生成图像。

类型:Boolean 默认:true; 

16.autoCropArea–定义自动裁剪面积大小(百分比)和图片进行对比。

类型:number 默认:0.8;
就是裁剪框显示的大小

17.movable–是否允许可以移动后面的图片

类型:Boolean 默认:true;

18.rotatable–是否允许旋转图像。

类型:Boolean 默认:true;

19.scalable–是否允许缩放图像。

类型:Boolean 默认:true;

20.zoomable–是否允许放大图像。

类型:Boolean 默认:true;

21.zoomOnTouch–是否可以通过拖动触摸来放大图像。

类型:Boolean 默认:true;

22.zoomOnWheel–是否可以通过移动鼠标来放大图像。

类型:Boolean 默认:true;

23.wheelZoomRatio–用鼠标移动图像时,定义缩放比例。

类型:Number 默认:0.1;

24.cropBoxMovable—是否通过拖拽来移动剪裁框。

类型:Boolean 默认:true;
改成false效果图为:剪裁框不可以拖动。

25.cropBoxResizable—是否通过拖动来调整剪裁框的大小。

类型:Boolean 默认:true;
改成false效果图为:剪裁框不可以调整大小。

26.toggleDragModeOnDblclick—当点击两次时可以在“crop”和“move”之间切换拖拽模式,

类型:Boolean 默认:true;

27.minContainerWidth—容器的最小宽度。

类型:Number 默认:200;

原文地址:https://www.cnblogs.com/missguolf/p/8514692.html

时间: 2024-10-11 15:38:19

cropper.js头像剪裁的相关文章

C#MVC和cropper.js实现剪裁图片ajax上传的弹出层

 首先使用cropper.js插件,能够将剪裁后的图片返回为base64编码,后台根据base64编码解析保存图片. jQuery.cropper: 是一款使用简单且功能强大的图片剪裁jquery插件.该图片剪裁插件支持图片放大缩小,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用 网站:http://fengyuanchen.github.io/cropper/ 可以自己搜索中文API 前台代码: @{ Layout = null; } <!DOCTYPE html> &

cropper.js裁剪图片的使用

这两天难得有时间可以整理一下最近学习的东西,这两天项目中用到了头像上传裁剪的功能,这里只介绍头像的裁剪吧. 单独实现图片剪裁的功能还是挺容易的,入门级别的.看一遍官方给的文档,基本上就明白了.大家如果不想看英文版的官网介绍,可以看这篇博客,讲的特别好. 官网地址:http://fengyuanchen.github.io/cropper/ 附上网址:https://blog.csdn.net/weixin_38023551/article/details/78792400 这篇文章讲的很好. 我

网站用户头像剪裁上传完整案例

做为网站前段开发人员来说,用户头像剪裁和上传是一个很常用的功能,一般这个功能涉及到图片的放大,缩小,移动,旋转,和剪裁.下面我们来做一个完整的demo,剪裁后的图片以base64的形式返回,base64怎么上传到后台服务器,很简单,这里不做介绍. 图片的操作:手机端操作和其他手机图片应用操作没有任何区别. PC端:通过鼠标的滚轮是实现图片的放大缩小,长按左键移动鼠标实现图片的移动,双击图片现实图片的旋转. demo下载地址:下载1 下载2 在这个demo中,我们使用Jquery的插件(jquer

使用pinchzoom实现头像剪裁

pinchzoom 官网 http://manuelstofer.github.io/pinchzoom/ PortraitClip.css .pinch-page{     position:fixed;     top:0;     bottom:0;     left:0;     right:0;     display:none;     width:100%;     height:100%;     background-color:#333;     z-index:9; } .

移动端图片裁剪上传—jQuery.cropper.js

jQuery.cropper.js是一款使用简单且功能强大的图片剪裁jQuery插件.该图片剪裁插件支持图片放大缩小,支持图片旋转,支持触摸屏设备,支持canvas,并且支持跨浏览器使用. 一.移动端获取本地相册兼容 安卓:<input type="file" accept="image/*" capture="camera" > ios:<input type="file" accept="ima

cropper.js图片裁剪

最近做电子名片的项目,可是个人照片展示上出现了 用户上传的图片尺寸严重失调,所以要求进行图片裁剪,再此我对图片裁剪进行调研 还不太成熟 以后再改 这个实现的原理是 前台获取到 坐标 图片的尺寸 原图文件 传给后台进行裁剪 这个是我在网上找的一个插件 cropper功能很强大 这里是官方文档 首先使用cropper必须引入对应得css和js,还有jquery <script src="jquery.js"></script> <link href="

上传图片截图预览控件不显示cropper.js 跨域问题

上传图片到图片服务器,因为域名不同,多以会有跨域问题. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://img.xxx.com' is therefore not allowed access. 照看代码发现,cropper.js里面对图片的引用路径做了判断,给img标签添加了 crossorigin="anonymous"(匿名跨域属性). 并且用

Android版本微信头像剪裁与系统剪裁之间的选择

当然选类似微信的剪裁咯,为什么?请看下文分析 转载请注明:http://blog.csdn.net/tmacsky/article/details/51179789 众所周知头像剪裁上传是绝大部分APP必备的功能之一,但是剪裁的模式有2种交互形式, 第一种是采用系统自带的剪裁功能,我个人是比较青睐系统的这种交互模式的,但是很可惜,在一些手机上出现问题,不得不弃用 第二种是微信版本自定义剪裁图,当然微信的这个并没有判断图片边界与自定义白色矩形框是否相连,我想这是一个bug吧,属于遗留问题 首先我们

cropper.js实现图片裁剪预览并转换为base64发送至服务端。

一 .准备工作 1.首先需要先下载cropper,常规使用npm,进入项目路径后执行以下命令: npm install cropper 2. cropper基于jquery,在此不要忘记引入jq,同时记得引入cropper.css 3. 此处后端使用的nodejs,不过不懂node的影响也不大. 二 . 图片裁剪并预览 1.首先利用cropper完成图片裁剪并预览: <input type="file" name="" id="imgBtn"