 
						图像的裁剪压缩
canvas绘制图片
裁剪框选择裁剪大小
旋转功能
放大镜(方便旋转)
裁剪功能
缩放、压缩功能(通过参数控制)
引入
| 1 2 | dist/image-clip.cssdist/image-clip.js | 
全局变量
| 1 | ImageClip | 
调用方法
| 1 2 | varcropImage = newImageClip(options);cropImage.method() | 
img对象示例
| 1 2 3 4 5 6 7 8 | varimg = newImage();img.src = b64;img.onload = function() {    // 需要在onload中进行操作    newImageClip(...);}; | 
options配置
| 参数 | 参数类型 | 默认值 | 说明 | 
|---|---|---|---|
| container | String | '#imgclip' | 容器的selector | 
| img | Image | null | 需要裁剪的图像对象,必须存在 | 
| isSmooth | Boolean | true | 是否开启平滑模式 | 
| captureRadius | Number | 30 | 放大镜捕获的图像像素半径 | 
| quality | Number | 0.92 | 图像压缩质量,注意,为 1的时候可能比原图还大 | 
| mime | String | 'image/jpeg' | 生成图像时的 MIME类型 | 
| sizeTipsStyle | Number | 0 | 大小提示框的风格, 0表示按下时显示,1表示恒显示,-1表示永不显示 | 
| compressScaleRatio | Number | 1 | 裁剪压缩时的缩放系数,最终尺寸为: 屏幕像素*像素比(手机一般为2)*compressScaleRatio | 
| iphoneFixedRatio | Number | 2 | 在 iphone情况下再放大一个系数,以解决可能的模糊问题,最终尺寸为:已计算的最终尺寸*iphoneFixedRatio | 
| isUseOriginSize | Boolean | false | 是否采用原图像素,优先级高于上述所有,如果为 true,最终尺寸为:原图大小 | 
| maxWidth | Number | 0 | 最大宽度,优先级高于上述所有,大于这个宽度的图片会强行缩放成这个宽,小于的按照上面的规则进行缩放,为 0时表示不设置 | 
| forceWidth | Number | 0 | 强制设置宽度,优先级高于上述所有,最终宽度为: forceWidth,为0时表示不设置 | 
| forceHeight | Number | 0 | 同上,但是一般不建议设置,因为很可能会改变宽高比导致拉升,特殊场景下使用 | 
注意:
默认情况下裁剪时,最终尺寸不会超过原有图像的尺寸
最终尺寸指的是裁剪框最大时的尺寸
除非设置forceHeight,否则图像的宽高比是不会变的
resetClipRect
重置裁剪框,重新变为最大
| 1 | cropImage.resetClipRect(); | 
clip
裁剪图像,根据当前的裁剪框进行裁剪
| 1 | cropImage.clip(); | 
getClipImgData
获取已裁剪的图像
| 1 | varbase64 = cropImage.getClipImgData(); | 
返回说明
| 参数 | 参数类型 | 说明 | 
|---|---|---|
| base64 | String | 裁剪后的图像的 base64数据 | 
rotate
旋转图片
| 1 | cropImage.clip(isClockWise); | 
参数说明
| 参数 | 参数类型 | 说明 | 
|---|---|---|
| isClockWise | Boolean | 是否是顺时针旋转 | 
destroy
销毁当前的裁剪对象
如果一个容器需要重新生成裁剪对象,一定要先销毁以前的
| 1 | cropImage.destroy(); | 
特别申明:
			本站所有资源都是由网友投稿发布,或转载各大下载站,请自行检测软件的完整性!
			本站所有资源仅供学习与参考,请勿用于商业用途,否则产生的一切后果将由您自己承担!
			如有侵权请联系我们删除下架,联系方式:lei1294551502@163.com