Jcrop 基于 jQuery 的在线图片裁切插件
Jcrop 是一个在线图片裁切插件,基于 jQuery 来使用,基本可以兼容大多数的浏览器,使用上简单方便,容易上手,使用强大的跨平台 DHTML 裁切引擎,配合 jQuery 能够快速的开发出优秀的应用程序。
特点
- Attaches unobtrusively to images or block objects
- Supports aspect ratio locking
- Supports minSize/maxSize setting
- Callbacks for selection done, or while moving
- Keyboard support for nudging selection
- API features to create interactivity, including animation
- Support for CSS styling, now uses LESS
- Touch support for iOS, Android, etc
跨平台兼容
- Firefox 2+
- Safari 3+
- Opera 9.5+
- Google Chrome 0.2+
- Internet Explorer 6+
简介
它的设计使开发人员可以轻松地将先进的图像裁剪功能直接集成到任何基于 Web 的应用程序中,而不会牺牲功耗和灵活性(或编码、测试和调试的几个星期)。还具有清洁 Jcrop 实现对组织良好的代码,效果很好,在大多数现代浏览器。
在这里,你会发现 Jcrop 实现对文件。本指南假定您拥有 HTML 的基本知识,并将文件包括到 Web 页面中。在文章的最后,有一些更高级的概念和实现技术的链接。
Jcrop 是一个功能强大的 jQuery 图像裁剪插件,结合后端程序(例如:PHP)可以快速的实现图片裁剪的功能。Jcrop 是添加图像裁剪功能的 Web 应用程序的快速简便的方法。它将使用一个强大的跨平台的 DHTML 种植引擎,忠实于熟悉的桌面图形应用的典型的 jQuery 插件轻松。
使用方法
1、载入 CSS 文件
<link rel="stylesheet" href="css/jquery.Jcrop.css">
2、载入 JavaScript 文件
<script src="js/jquery.js"></script> <script src="js/jquery.Jcrop.js"></script>
3、给 IMG 标签加上 ID
<img id="element_id" src="pic.jpg">
4、调用 Jcrop
$("#element_id").Jcrop();
Jcorp的调用主要分为两种方式
jQuery('#cropbox').Jcrop({ onChange: showCoords, onSelect: showCoords });
var api = $.Jcrop('#cropbox',{ onChange: showPreview, onSelect: showPreview, aspectRatio: 1 });
这里推荐大家使用第二种方式,将 Jcrop 生成的对象赋给一个全局变量,这样操作起来更灵活,如调用 api.destroy(); 方法可以销毁 Jcorp,这样我们在实际使用中会更灵活一些,因为直接改变要裁剪图片的路径会导致 Jcorp 的出错,如果想要变更编辑的图片我们需要销毁 Jcorp, 变更图片的属性后再次为图片附加 Jcorp。
API 接口
名称 | 说明 |
---|---|
setImage(string) | 设定(或改变)图像。例:jcrop_api.setImage(“newpic.jpg”) |
setOptions(object) | 设定(或改变)参数,格式与初始化设置参数一样 |
setSelect(array) | 创建选框,参数格式为:[x,y,x2,y2] |
animateTo(array) | 用动画效果创建选框,参数格式为:[x,y,x2,y2] |
release() | 取消选框 |
disable() | 禁用 Jcrop。说明:已有选框不会被清除。 |
enable() | 启用 Jcrop |
destroy() | 移除 Jcrop |
tellSelect() | 获取选框的值(实际尺寸)。例子:console.log(jcrop_api.tellSelect()) |
tellScaled() | 获取选框的值(界面尺寸)。例子:console.log(jcrop_api.tellScaled()) |
getBounds() | 获取图片实际尺寸,格式为:[w,h] |
getWidgetSize() | 获取图片显示尺寸,格式为:[w,h] |
getScaleFactor() | 获取图片缩放的比例,格式为:[w,h] |
options 参数说明
名称 | 默认值 | 说明 |
---|---|---|
allowSelect | true | 允许新选框 |
allowMove | true | 允许选框移动 |
allowResize | true | 允许选框缩放 |
trackDocument | true | |
baseClass | jcrop | 基础样式名前缀。说明:class="jcrop-holder",更改的只是其中的 jcrop。 |
addClass | null | 添加样式。例:假设值为 “test”,那么会添加样式到 |
bgColor | “black” | 背景颜色。颜色关键字、HEX、RGB 均可。 |
bgOpacity | 0.6 | 背景透明度 |
bgFade | false | 使用背景过渡效果 |
borderOpacity | 0.4 | 选框边框透明度 |
handleOpacity | 0.5 | 缩放按钮透明度 |
handleSize | 9 | 缩放按钮大小 |
handleOffset | 5 | 缩放按钮与边框的距离 |
aspectRatio | 0 | 选框宽高比。说明:width/height |
keySupport | true | 支持键盘控制。按键列表:上下左右(移动)、Esc(取消)、Tab(跳出裁剪框,到下一个) |
cornerHandles | true | 允许边角缩放 |
sideHandles | true | 允许四边缩放 |
drawBorders | true | 绘制边框 |
dragEdges | true | 允许拖动边框 |
fixedSupport | true | |
touchSupport | null | |
boxWidth | 0 | 画布宽度 |
boxHeight | 0 | 画布高度 |
boundary | 2 | 边界。说明:可以从边界开始拖动鼠标选择裁剪区域 |
fadeTime | 400 | 过度效果的时间 |
animationDelay | 20 | 动画延迟 |
swingSpeed | 3 | 过渡速度 |
minSelect | [0,0] | 选框最小选择尺寸。说明:若选框小于该尺寸,则自动取消选择 |
maxSize | [0,0] | 选框最大尺寸 |
minSize | [0,0] | 选框最小尺寸 |
onChange | function(){} | 选框改变时的事件 |
onSelect | function(){} | 选框选定时的事件 |
onRelease | function(){} | 取消选框时的事件 |
相关链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论