Jcrop 基于 jQuery 的在线图片裁切插件 - 资源分享

Jcrop 基于 jQuery 的在线图片裁切插件

发布于 2017-06-30 字数 6963 浏览 2055 评论 0

Jcrop是一个在线图片裁切插件,基于jQuery来使用,基本可以兼容大多数的浏览器,使用上简单方便,容易上手,使用强大的跨平台DHTML裁切引擎,配合jQuery能够快速的开发出优秀的应用程序。

Jcrop 基于 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(){} 取消选框时的事件

相关链接

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

Jay

文章 0 评论 0

guowei007

文章 0 评论 0

2668157715

文章 0 评论 0

HY阳

文章 0 评论 0

想挽留

文章 30 评论 3