Skip to content

canvas ​

uniapp相关的跨端 canvas 插件:点击此处

图片涂抹裁剪 ​

方法名:m_CanvasDaubClip(config)

config ​

属性类型必须备注
imagestring/file是图片元素,file、base64 或者 http 开头的网络图片(注意跨域)
elstring否挂载的元素 id 名称,没有的话,将会挂载到 body 上且位于页面最底下,建议使用
widthnumber否裁剪区宽度,单位 px,默认 300
heightnumber否裁剪区高度,单位 px,默认 300
radiusnumber否涂抹半径,单位 px,默认 20
alphanumber否透明度,默认 0.6
handleClipboolean否是否手动裁剪,默认 false,false 情况下,一旦触摸离开就裁剪
shadestring否遮罩层的颜色(#号开头的)或者图片(base64 或有效路径),默认#000000

返回promise,值为图像 base64,或者空,或 handleClip 为 true 的时候,返回 object,需调用 object.clip()方法手动裁剪,clip()返回 promise

TIP:
全屏情况下,图片在画布上是宽度 100%,高度自适应
裁剪之后的图片大小与触摸区域大小一致,预览可能会放大裁剪的图片,移动端绘制速度慢了可能会出现首尾链接现象

图片绘制 ​

方法名:m_CanvasImageCompose(config)

config ​

属性类型必须备注
listdrawlist[]是校验的值
imgTypestring否输出图片格式,可选:jpeg / png,默认 jpeg
widthnumber否输出图像宽度,默认 750px
heightnumber否输出图像高度,默认 1330px

drawlist ​

属性类型必须备注
typestring是元素类型:image图片,text文本,rect矩形(线条),arc纯圆形
xnumber是X 轴坐标
ynumber是Y 轴坐标
contentstring是type=image:图片数据(file、base64、http 网络图片,注意跨域),type=text:文字,rect、arc、qr:此字段无效
widthnumber否图片或矩形(线条)宽度、圆形半径
heightnumber否图片、矩形(线条)高度
arcboolean否type=image 时:是否绘制圆形图片,圆形图片的画布为 500*500,可根据 arc 相关字段调整裁剪区域
arcTypestring否裁剪圆形图片模式,'cover'填满, 'scale'等比缩放,完全显示, 'clip'裁剪,默认 cover
arcClipXYSnumber[]否arcType=clip 时裁剪坐标及缩放等级,1 为不缩放,例[20,30,1]
colorstring否绘制文本、矩形(线条)的颜色,默认:'#000000'
fontstring否绘制文本的字号大小,字体样式,格式示例(默认)'10px sans-serif'
alignstring否绘制文本的对齐方式,可选:'left' 、 'right' 、 'center',默认:left
maxWidthnumber否绘制文本的最大宽度,文字长度超过该值会被压缩
globalAlphanumber否透明度:0~1,默认 1

返回promise,值为图像 base64,或者空

多边形裁剪 ​

方法名:m_CanvasPolygonClip(config)

config ​

属性类型必须备注
imagefile/string是图片信息,file、base64 或者 http 开头的网络图片(注意跨域)
elstring否挂载的元素 id 名称,没有的话,将会挂载到 body 上且悬浮于页面
sidenumber否边数,不能小于 3,边数越多可越接近圆,默认 3
radiusnumber否半径,点到中心距离,默认 150
rectboolean否是否为正矩形,为 true 时,side 失效,默认 false
rectWidthnumber否正矩形的宽,没有或为 0,默认取 radius
rectHeightnumber否正矩形的长,没有或为 0,默认取 radius
alphanumber否裁剪蒙层透明度,默认 0.6
innerboolean否是否为内多边形,默认 false
innerTimesnumber否内多边形时,靠内的点半径为 radius*innerTimes, 默认 0.5
widthnumber否宽度,仅 pc 端有效,pc 默认 50%屏幕宽度,移动端固定全屏
heightnumber否高度,仅 pc 端有效,pc 默认 100%屏幕高度,移动端固定全屏
rotateboolean否是否可旋转,默认 true

返回promise,值为 object,执行 object.clip()方法手动裁剪,该方法返回 promise,值为 base64 或者空

TIP:

  1. 手动裁剪
  2. 移动端单指拖拽,双指缩放,三指旋转(裁剪区域有些许出入)
  3. PC 端左键安卓拖拽,滚轮滑动缩放,右键按住并拖拽执行缩放(裁剪区域有些许出入)

二维码生成 ​

方法名:m_CreateQrCode(text,config)

属性 ​

属性类型必须备注
textstring是要生成二维码的文本
configqrconfig否二维码配置

qrconfig ​

属性类型必须备注
typeNumbernumber否密度,可选值:1-40
errorCorrectLevelstring否错误级别,可选值:'L' / 'M' / 'Q' / 'H'
sizenumber否二维码尺寸,默认 500,可以通过外部样式调整

返回base64

文档版本 v1.0.1