/CLIP

js图片裁剪组件

Primary LanguageJavaScript

clip.js - 图像裁剪

DEMO

http://y.qq.com/m/demo/ctools/clip.html

GitHub

https://github.com/xingqiao/CLIP/

支持功能

  • 支持解析图片、Canvas、文件、图片链接

  • 支持裁剪成正方形、圆形、自定义矩形

  • 支持缩放操作

  • 支持保存成PNG/JPG

初始化

不依赖其他第三方库

<script src="qmv.js"></script>
var clip = new CLIP({
    shape: CLIP.SHAPE.SQUARE,
    onsave: function (result) {
        console.log(result);
    },
    onerror: function (e) {
        console.log("error", e);
    }
});
clip.load("./test.jpg").show();

初始化参数

参数 类型 默认值 描述
background String null 裁剪出图片的背景色,默认为透明,保存成jpg时默认为白色
shape String "square" 裁剪形状,值在 CLIP.SHAPE 中定义,默认是正方形
rectRatio Number - 矩形裁剪形状宽高比,当 type=CLIP.SHAPE.RECT 时有效,值为 宽:高,默认为 1,相当于正方形
type String "image/png" 保存的图片类型,默认是 image/png,值在 CLIP.TYPE 中定义
quality Number - 保存的jpg图片质量,type=image/jpeg 时有效,有效值0~1
width Number - 保存图片的宽度,不传该值时根据height的值等比缩放
height Number - 保存图片的高度,不传该值时根据width的值等比缩放

CLIP对象属性

属性名 类型 描述
result Object - 返回base64链接形式的裁剪结果
width Number - 获取或设置保存图片的宽度设置
height Number - 获取或设置保存图片的高度设置

CLIP对象方法

方法名 描述
load 加载图片
save 保存裁剪结果
show 打开裁剪弹窗
hide 关闭裁剪弹窗
reset 重置图片缩放状态
clear 清空裁剪板

CLIP对象事件

事件名 描述
loading 事件在图片开始加载时触发
load 事件在图片加载完成时触发
show 事件在打开裁剪弹窗时触发
hide 事件在关闭裁剪弹窗时触发
save 事件在裁剪完成时触发
error 事件在执行出错时触发

常量定义

错误类型 CLIP.ERROR

常量 描述
CLIP.ERROR.LOAD_IMG_FAIL 1 加载图片失败
CLIP.ERROR.SAVE_IMG_FAIL 2 保存图片失败
CLIP.ERROR.OPEN_FILE_FAIL 3 读取文件失败

图片加载状态 CLIP.STATE

常量 描述
CLIP.STATE.LOADING 1 加载中
CLIP.STATE.LOADED 2 加载完成

裁剪形状 CLIP.SHAPE

常量 描述
CLIP.SHAPE.CIRCLE "circle" 圆形
CLIP.SHAPE.SQUARE "square" 正方形
CLIP.SHAPE.RECT "rect" 正方形

保存的图片类型 CLIP.TYPE

常量 描述
CLIP.TYPE.PNG "image/png" png
CLIP.TYPE.JPG "image/jpeg" jpg