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纯圆形
xnumberX 轴坐标
ynumberY 轴坐标
contentstringtype=image:图片数据(file、base64、http 网络图片,注意跨域),type=text:文字,rect、arc、qr:此字段无效
widthnumber图片或矩形(线条)宽度、圆形半径
heightnumber图片、矩形(线条)高度
arcbooleantype=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