博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Javascript截图相关参考项目
阅读量:4130 次
发布时间:2019-05-25

本文共 3225 字,大约阅读时间需要 10 分钟。

Jcrop

项目地址:                

canvas2image

项目地址:

html2canvas

项目地址:

Jcrop 使用方法

 在页面中导入JQuery.js及JQuery.Jcrop.js

Jcorp的调用主要分为两种方式

 

      1、jQuery('#cropbox').Jcrop({

                  onChange: showCoords,
                  onSelect: showCoords
           });

 

      2、var api = $.Jcrop('#cropbox',{

                  onChange: showPreview,
                  onSelect: showPreview,
                  aspectRatio: 1
           });

      这里推荐大家使用第二种方式,将Jcrop生成的对象赋给一个全局变量,这样操作起来更灵活,如调用api.destroy();方法可以销毁Jcorp,这样我们在实际使用中会更灵活一些,因为直接改变要裁剪图片的路径会导致Jcorp的出错,如果想要变更编辑的图片我们需要销毁Jcorp,变更图片的属性后再次为图片附加Jcorp。

1.最基本使用方法 
$( 
function() 

$("#demoImage").Jcrop(); 

); 
2.得到选中区域的坐标以及回调函数 
$(function(){ 
//事件处理 
$("#demoImage").Jcrop({ 
onChange:showCoords, //当选择区域变化的时候,执行对应的回调函数 
onSelect:showCoords //当选中区域的时候,执行对应的回调函数 
}); 
}); 
function showCoords(c) { 
$("#txtX1").val(c.x); //得到选中区域左上角横坐标 
$("#txtY1").val(c.y); //得到选中区域左上角纵坐标 
$("#txtX2").val(c.x2); //得到选中区域右下角横坐标 
$("#txtY2").val(c.y2); //得到选中区域右下角纵坐标 
$("#txtWidth").val(c.w); //得到选中区域的宽度 
$("#txtHeight").val(c.h); //得到选中区域的高度 
}
3.常用选项设置 
aspectRatio:选中区域按宽/高比,为1表示正方形。 

minSize:最小的宽,高值。 

maxSize:最大的宽,高值。 

setSelect:设置初始选中区域。 

bgColor:背景颜色 

bgOpacity:背景透明度。 

allowResize:是否允许改变选中区域大小。 

allowMove:是否允许移动选中区域。


举例如下: 

复制代码代码如下:

$(function() { 

$("#demoImage").Jcrop({ 

aspectRatio: 1, //选中区域宽高比为1,即选中区域为正方形 

bgColor:"#ccc", //裁剪时背景颜色设为灰色 

bgOpacity:0.1, //透明度设为0.1 

allowResize:false, //不允许改变选中区域的大小 

setSelect:[0,0,100,100] //初始化选中区域 

}); 

});
4.api用法 
复制代码代码如下:

var api = $.Jcrop("#demoImage"); 

api.disable(); //设置为禁用裁剪效果 

api.enable(); //设置为启用裁剪效果 

api.setOptions({allowResize:false});//设置相应配置 

api.setSelect([0,0,100,100]); //设置选中区域 
=======================================================================================================

方法如下:

一、在head部分(<head>和</head>之间)插入相关css和js文件。

二、在head部分插入回调函数等相关处理参数。

三、给相关图片加上id以便识别。

这样就能实现最简单的裁剪效果,至于如何结合动态语句处理图片,在置顶的文章里已经给出了示例。

下表给出基本options参数设置:

名称 默认值 说明
allowSelect true 允许新选框
allowMove true 允许选框移动
allowResize true 允许选框缩放
trackDocument true  
baseClass "jcrop" 基础样式名前缀。说明:class="jcrop-holder",更改的只是其中的 jcrop。
addClass null 添加样式会。例:假设值为 "test",那么会添加样式到 class="test jcrop-holder"
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(){} 取消选框时的事件

下表是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]

转载地址:http://nxbvi.baihongyu.com/

你可能感兴趣的文章
shell编程----目录操作(文件夹)
查看>>
机器学习-----K近邻算法
查看>>
HBASE安装和简单测试
查看>>
关于程序员的59条搞笑但却真实无比的编程语录
查看>>
搞笑--一篇有趣的文章编译自一篇西班牙博客。有一位美丽的公主,被关押在一个城堡中最高的塔上,一条凶恶的巨龙看守着她,需要有一位勇士营救她…
查看>>
非常不错 Hadoop 的HDFS (Hadoop集群(第8期)_HDFS初探之旅)
查看>>
Tomcat启动错误,端口占用
查看>>
laravel 修改api返回默认的异常处理
查看>>
高德坐标转换百度坐标 javascript
查看>>
tp5封装通用的修改某列值
查看>>
laravel控制器与模型名称不统一
查看>>
vue登录拦截
查看>>
npm配置淘宝镜像仓库以及electron镜像
查看>>
linux设置开机自启动脚本的最佳方式
查看>>
VUE SPA 单页面应用 微信oauth网页授权
查看>>
phpstorm 集成 xdebug 进行调试
查看>>
npm和node升级的正确方式
查看>>
laravel事务
查看>>
springcloud 连续请求 500
查看>>
vue复用新增和编辑表单
查看>>