图片截取插件Cropper
自己仿照github上的例子写的demo,github上的例子太抽象了,自己写的最适合自己,通俗易懂。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link href="./css/cropper.css" rel="stylesheet">
<style>
img {
max-width: 100%; /* This rule is very important, please do not ignore this! */
} .prev{
display: inline-block;
}
</style>
</head>
<body>
<div class="container">
<img id="image" src="./img/picture.jpg">
</div> <br><br> <!--crop是对剪切窗口的操作,move是对图片的操作-->
<div>
<input type="button" value="crop" id="btnCrop" />
<input type="button" value="move" id="btnMove" />
<input type="button" value="16:9" id="169">
<input type="button" value="1:1" id="11">
<input type="button" value="get" id="getCanvas">
</div> <br><br> <!--图片截取的结果显示在这里-->
<div class="prev" style="width: 500px; height: 500px; overflow: hidden"></div>
<div class="prev" style="width: 300px; height: 300px; overflow: hidden"></div>
<div class="prev" style="width: 200px; height: 200px; overflow: hidden"></div> <br><br> <div id="getCroppedCanvas" style="width:500px; height:500px; overflow:hidden;"></div> <script src="./js/jquery-1.11.3.min.js"></script>
<script src="./js/cropper.js"></script>
<script>
$(function(){
var image = document.getElementById("image"); //可以通过$().cropper(options)方法来设置参数。如果想改变全局默认参数,可以使用$.fn.cropper.setDefaults(options)方法。
var cropper = new Cropper(image, {
aspectRatio: 16 / 9, //宽高比
preview: '.prev', //预览窗口
guides: false, //裁剪框的虚线
autoCropArea: 0.5, //0-1之间的数值,定义自动剪裁区域的大小,默认0.8
dragCrop: true, //是否允许移除当前的剪裁框,并通过拖动来新建一个剪裁框区域
movable: true, //是否允许移动剪裁框
resizable: true, //是否允许改变裁剪框的大小
zoomable: true, //是否允许缩放图片大小
mouseWheelZoom: true, //是否允许通过鼠标滚轮来缩放图片
touchDragZoom: true, //是否允许通过触摸移动来缩放图片
rotatable: true, //是否允许旋转图片
minContainerWidth: 200, //容器的最小宽度
minContainerHeight: 200, //容器的最小高度
minCanvasWidth: 0, //canvas 的最小宽度(image wrapper)
minCanvasHeight: 0, //canvas 的最小高度(image wrapper)
strict: true,
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);
},
build: function () {
console.log('build');
},
built: function () {
console.log('built');
},
cropstart: function (e) {
console.log('cropstart', e.detail.action);
},
cropmove: function (e) {
console.log('cropmove', e.detail.action);
},
cropend: function (e) {
console.log('cropend', e.detail.action);
}
}); $("#btnCrop").on("click", function(){
cropper.setDragMode("crop");
}); $("#btnMove").on("click", function(){
cropper.setDragMode("move");
}); $("#11").on("click", function(){
cropper.setAspectRatio(1,1);
});
$("#169").on("click", function(){
cropper.setAspectRatio(16,9);
}); $("#getCanvas").on("click", function(){
$("#getCroppedCanvas").html(cropper.getCroppedCanvas());
});
});
</script>
</body>
</html>
API
https://www.awesomes.cn/repo/fengyuanchen/cropper
图片截取插件Cropper的更多相关文章
- jQuery图片剪裁插件Cropper.js的使用
插件下载地址及文档说明 1.引入必要的js和css核心文件 <link rel="stylesheet" href="../css/cropper.css" ...
- vue 裁剪图片,插件Cropper的使用
全局安装 npm install cropperjs 如果想本项目安装,方便移植: import Cropper from 'cropperjs' --save 这样的话,本地 p ...
- Cropper – 简单的 jQuery 图片裁剪插件
Cropper 是一个简单的 jQuery 图像裁剪插件.它支持选项,方法,事件,触摸(移动),缩放,旋转.输出的裁剪数据基于原始图像大小,这样你就可以用它们来直接裁剪图像. 如果你尝试裁剪跨域图像, ...
- 图片剪裁上传插件 - cropper
图片剪裁上传插件 - cropper <style> .photo-container{float: left;width: 300px;height: 300px;} .photo-co ...
- 使用JQuery插件Jcrop进行图片截取
Jcrop插件本身并不含有图片截取功能,它仅仅是在前端层面构建一套截取动画效果并产生4个坐标点,插件使用者将这4个坐标点传回至服务器接口上进行截取操作.其优点是具有较高的通用性.浏览器兼容性(IE6+ ...
- Android第三方开源图片裁剪截取:cropper
Android第三方开源图片裁剪截取:cropper 很多app都需要裁剪截取图片作为头像.logo之类,而cropper是github上的一个针对Android平台的.第三方开源图片裁剪截取项 ...
- 移动端 H5图片裁剪插件,内置简单手势操作
前面曾经写过一篇<H5图片裁剪升级版>,但里面需要借助第三方手势库,这次就不需要使用手势库,全部封装在代码中. 下图是裁剪的展示,下面就做了拖放和裁剪,没有做缩放,在插件中需要用到大量的计 ...
- 5 款最新的 jQuery 图片裁剪插件
这篇文章主要介绍最新的 5 款 jQuery 图片裁剪插件,可以帮助你轻松的实现你网站需要的图像裁剪功能. Cropit Cropit 是一个 jQuery 插件,支持图像裁剪和缩放功能.Cropit ...
- jquery头像上传剪裁插件cropper的前后台demo
因为一个项目要做一个头像上传的功能,因此选择了使用jquery的头像插件cropper,cropper是一款使用简单且功能强大的图片剪裁jQuery插件,但是在使用的时候,有一个很大的坑需要注意,那就 ...
随机推荐
- Java自学基础用法
在慕课上面简单学习了一下java语言的用法 简单的用法总结记录一下. 代码(学习输入,输出): package hello; import java.util.Scanner; public clas ...
- Head First Java & final
- 动态生成CheckBox(Winform程序)
在做用户权限设置功能时,需要做一个动态生成权限列表的功能.(笔记.分享) //1.清空权限控件组的默认控件 panelPermissions.Controls.Clear(); _groupBoxLi ...
- 补交第一周:coding net
coding net:https://coding.net/u/yuanyuancheng git openssh: 四则运算 https://git.coding.net/yuanyuancheng ...
- IPV6 国内进展情况
国家下一代互联网产业技术创新战略联盟(以下简称“产业联盟”),近日在北京发布了我国首份IPv6业务用户体验监测报告(以下简称<报告>).该<报告>监测了我国固定宽带的IPv6普 ...
- SQL DATACOMPARE 实现两个数据库的同步处理.
1. SQL DATACOMPARE 实现 两个数据库的同步 安装破解. 然后进行对比 然后进行 deploy 生成sql 等. 貌似很好用 但是前提是数据库是可用的... 这里面能够看到 生成的脚本 ...
- (暂时弃坑)(半成品)ACM数论之旅18---反演定理 第二回 Mobius反演(莫比乌斯反演)((づ ̄3 ̄)づ天才第一步,雀。。。。)
莫比乌斯反演也是反演定理的一种 既然我们已经学了二项式反演定理 那莫比乌斯反演定理与二项式反演定理一样,不求甚解,只求会用 莫比乌斯反演长下面这个样子(=・ω・=) d|n,表示n能够整除d,也就是d ...
- mappers标签引入映射器的四种方式
第一种方式:mapper标签,通过resource属性引入classpath路径的相对资源 <!-- Using classpath relative resources --> < ...
- ZooKeeper-基础介绍
What is ZooKeeper? ZooKeeper为分布式应用设计的高性能(使用在大的分布式系统).高可用(防止单点失败).严格地有序访问(客户端可以实现复杂的同步原语)的协同服务. ZooKe ...
- springmvc+mybatis 处理图片(一):上传图片
一直觉得上传图片文件之类的很难,所以最后才处理图片,发现也并没有那么难,开始正文. 思路:将前台上传的file存到MutipartFile类型字段中,再将MulipartFile转换为pojo类中的b ...