Jcrop 是一个功能强大的 jQuery 图像裁剪插件,结合后端程序(例如:PHP)可以快速的实现图片裁剪的功能。
jQuery Jcrop v0.9.12
实例预览 jQuery Jcrop 图像裁剪插件 Hello World 基础示例
实例预览 jQuery Jcrop 图像裁剪插件 Basic Handler 事件处理
实例预览 jQuery Jcrop 图像裁剪插件按高宽比例预览裁剪效果
实例预览 jQuery Jcrop 图像裁剪插件 Animation / Transitions 动画/过度效果
实例预览 jQuery Jcrop 图像裁剪插件 API 示例
实例预览 jQuery Jcrop 图像裁剪插件 CSS 样式
实例预览 Jcrop 图像裁剪插件 Non-image Cropping 非图片裁剪
一个服务端PHP程序裁剪的示例
<?php //服务端crop.php代码 if ($_SERVER['REQUEST_METHOD'] == 'POST') { $targ_w = $targ_h = 150; $jpeg_quality = 90; $r_path=str_replace(array('\\', '\\\\'), '/', dirname(__FILE__)); $src = $r_path.'/img/pool.jpg';//原图片路径 $img_r = imagecreatefromjpeg($src); $dst_r = ImageCreateTrueColor( $targ_w, $targ_h ); imagecopyresampled($dst_r,$img_r,0,0,$_POST['x'],$_POST['y'], $targ_w,$targ_h,$_POST['w'],$_POST['h']); header('Content-type: image/jpeg'); $save_img_path=null;//截图后保存的路径 imagejpeg($dst_r,$save_img_path,$jpeg_quality); exit; } ?>
实例预览 jQuery Jcrop 使用PHP图像裁剪实例
<link rel="stylesheet" href="jquery.Jcrop.css">
<script src="jquery.js"></script>
<script src="jquery.Jcrop.js"></script>
<img id="element_id" src="pic.jpg">
$('#element_id').Jcrop();
名称 | 默认值 | 说明 |
---|---|---|
allowSelect | true | 允许新选框 |
allowMove | true | 允许选框移动 |
allowResize | true | 允许选框缩放 |
trackDocument | true | 拖动选框时,允许超出图像以外的地方时继续拖动。 |
baseClass | 'jcrop' | 基础样式名前缀。说明:class="jcrop-holder" ,更改的只是其中的 jcrop。例:假设值为 "test",那么样式名会更改为 "test-holder" |
addClass | null | 添加样式。 例:假设值为 "test",那么会添加样式到 |
bgColor | 'black' | 背景颜色。颜色关键字、HEX、RGB 均可。 |
bgOpacity | 0.6 | 背景透明度 |
bgFade | false | 使用背景过渡效果 |
borderOpacity | 0.4 | 选框边框透明度 |
handleOpacity | 0.5 | 缩放按钮透明度 |
handleSize | 9 | 缩放按钮大小 |
aspectRatio | 0 | 选框宽高比。说明:width/height |
keySupport | true | 支持键盘控制。按键列表:上下左右(移动选框)、Esc(取消选框) |
createHandles | ['n','s','e','w','nw','ne','se','sw'] | 设置边角控制器 |
createDragbars | ['n','s','e','w'] | 设置边框控制器 |
createBorders | ['n','s','e','w'] | 设置边框 |
drawBorders | true | 绘制边框 |
dragEdges | true | 允许拖动边框 |
fixedSupport | true | 支持 fixed,例如:IE6、iOS4 |
touchSupport | null | 支持触摸事件 |
shade | 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(){} | 选框选定时的事件 |
onDblClick | function(){} | 在选框内双击时的事件 |
onRelease | function(){} | 取消选框时的事件 |
名称 | 说明 |
---|---|
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] |