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

发布于 2017-06-30 14:38:14 字数 5963 浏览 2309 评论 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 参数说明

名称默认值说明
allowSelecttrue允许新选框
allowMovetrue允许选框移动
allowResizetrue允许选框缩放
trackDocumenttrue 
baseClassjcrop基础样式名前缀。说明:class="jcrop-holder",更改的只是其中的 jcrop
addClassnull添加样式。例:假设值为 “test”,那么会添加样式到
bgColor“black”背景颜色。颜色关键字、HEX、RGB 均可。
bgOpacity0.6背景透明度
bgFadefalse使用背景过渡效果
borderOpacity0.4选框边框透明度
handleOpacity0.5缩放按钮透明度
handleSize9缩放按钮大小
handleOffset5缩放按钮与边框的距离
aspectRatio0选框宽高比。说明:width/height
keySupporttrue支持键盘控制。按键列表:上下左右(移动)、Esc(取消)、Tab(跳出裁剪框,到下一个)
cornerHandlestrue允许边角缩放
sideHandlestrue允许四边缩放
drawBorderstrue绘制边框
dragEdgestrue允许拖动边框
fixedSupporttrue 
touchSupportnull 
boxWidth0画布宽度
boxHeight0画布高度
boundary2边界。说明:可以从边界开始拖动鼠标选择裁剪区域
fadeTime400过度效果的时间
animationDelay20动画延迟
swingSpeed3过渡速度
minSelect[0,0]选框最小选择尺寸。说明:若选框小于该尺寸,则自动取消选择
maxSize[0,0]选框最大尺寸
minSize[0,0]选框最小尺寸
onChangefunction(){}选框改变时的事件
onSelectfunction(){}选框选定时的事件
onReleasefunction(){}取消选框时的事件

相关链接

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

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

0 文章
0 评论
84960 人气
更多

推荐作者

沧笙踏歌

文章 0 评论 0

山田美奈子

文章 0 评论 0

佚名

文章 0 评论 0

岁月无声

文章 0 评论 0

暗藏城府

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文