插件来源:[https://ext.dcloud.net.cn/plugin?id=3594](https://ext.dcloud.net.cn/plugin?id=3594) 以下是插件作者的插件介绍: # Clipper 图片裁剪 > uniapp 图片裁剪,可用于图片头像等裁剪处理 > [查看更多](http://liangei.gitee.io/limeui/#/clipper)
> Q群:458377637 ## 平台兼容 | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 头条小程序 | QQ 小程序 | App | | --- | ---------- | ------------ | ---------- | ---------- | --------- | --- | | √ | √ | √ | 未测 | √ | √ | √ | ## 代码演示 ### 基本用法 `@success` 事件点击 👉 **确定** 后会返回生成的图片信息,包含 `url`、`width`、`height` ```html ``` ```js // 非uni_modules引入 import lClipper from '@/components/lime-clipper/' // uni_modules引入 import lClipper from '@/uni_modules/lime-clipper/components/lime-clipper/' export default { components: {lClipper}, data() { return { show: false, url: '', } } } ``` ### 传入图片 `image-url`可传入**相对路径**、**临时路径**、**本地路径**、**网络图片**
* **当为网络地址时** * H5:👉 需要解决跨域问题。
* 小程序:👉 需要配置 downloadFile 域名
```html ``` ```js export default { components: {lClipper}, data() { return { imageUrl: 'https://img12.360buyimg.com/pop/s1180x940_jfs/t1/97205/26/1142/87801/5dbac55aEf795d962/48a4d7a63ff80b8b.jpg', show: false, url: '', } } } ``` ### 确定按钮颜色 样式变量名:`--l-clipper-confirm-color` 可放到全局样式的 `page` 里或节点的 `style` ```html ``` ```css // css 中为组件设置 CSS 变量 .clipper { --l-clipper-confirm-color: linear-gradient(to right, #ff6034, #ee0a24) } // 全局 page { --l-clipper-confirm-color: linear-gradient(to right, #ff6034, #ee0a24) } ``` ### 使用插槽 共五个插槽 `cancel` 取消按钮、 `photo` 选择图片按钮、 `rotate` 旋转按钮、 `confirm` 确定按钮和默认插槽。 ```html 取消 选择图片 旋转 确定 显示取消按钮 显示选择图片按钮 显示旋转按钮 显示确定按钮 锁定裁剪框宽度 锁定裁剪框高度 锁定裁剪框比例 限制移动范围 禁止缩放 禁止旋转 ``` ```js export default { components: {lClipper}, data() { return { show: false, url: '', isLockWidth: false, isLockHeight: false, isLockRatio: true, isLimitMove: false, isDisableScale: false, isDisableRotate: false, isShowCancelBtn: true, isShowPhotoBtn: true, isShowRotateBtn: true, isShowConfirmBtn: true } } } ``` ## API ### Props | 参数 | 说明 | 类型 | 默认值 | | ------------- | ------------ | ---------------- | ------------ | | image-url | 图片路径 | string | | | quality | 图片的质量,取值范围为 [0, 1],不在范围内时当作1处理 | number | `1` | | source | `{album: '从相册中选择'}`key为图片来源类型,value为选项说明 | Object | | | width | 裁剪框宽度,单位为 `rpx` | number | `400` | | height | 裁剪框高度 | number | `400` | | min-width | 裁剪框最小宽度 | number | `200` | | min-height |裁剪框最小高度 | number | `200` | | max-width | 裁剪框最大宽度 | number | `600` | | max-height | 裁剪框最大宽度 | number | `600` | | min-ratio | 图片最小缩放比 | number | `0.5` | | max-ratio | 图片最大缩放比 | number | `2` | | rotate-angle | 旋转按钮每次旋转的角度 | number | `90` | | scale-ratio | 生成图片相对于裁剪框的比例, **比例越高生成图片越清晰** | number | `1` | | is-lock-width | 是否锁定裁剪框宽度 | boolean | `false` | | is-lock-height | 是否锁定裁剪框高度上 | boolean | `false` | | is-lock-ratio | 是否锁定裁剪框比例 | boolean | `true` | | is-disable-scale | 是否禁止缩放 | boolean | `false` | | is-disable-rotate | 是否禁止旋转 | boolean | `false` | | is-limit-move | 是否限制移动范围 | boolean | `false` | | is-show-photo-btn | 是否显示选择图片按钮 | boolean | `true` | | is-show-rotate-btn | 是否显示转按钮 | boolean | `true` | | is-show-confirm-btn | 是否显示确定按钮 | boolean | `true` | | is-show-cancel-btn | 是否显示关闭按钮 | boolean | `true` | ### 事件 Events | 事件名 | 说明 | 回调 | | ------- | ------------ | -------------- | | success | 生成图片成功 | {`width`, `height`, `url`} | | fail | 生成图片失败 | `error` | | cancel | 关闭 | `false` | | ready | 图片加载完成 | {`width`, `height`, `path`, `orientation`, `type`} | | change | 图片大小改变时触发 | {`width`, `height`} | | rotate | 图片旋转时触发 | `angle` | ## 常见问题 > 1、H5端使用网络图片需要解决跨域问题。
> 2、小程序使用网络图片需要去公众平台增加下载白名单!二级域名也需要配!
> 3、H5端生成图片是base64,有时显示只有一半可以使用原生标签``
> 4、IOS APP 请勿使用HBX2.9.3.20201014的版本!这个版本无法生成图片。
> 5、APP端无成功反馈、也无失败反馈时,请更新基座和HBX。
## 打赏 如果你觉得本插件,解决了你的问题,赠人玫瑰,手留余香。
![输入图片说明](https://images.gitee.com/uploads/images/2020/1122/222521_bb543f96_518581.jpeg "微信图片编辑_20201122220352.jpg")