微信小程序子组件使用canvas无效,线条画不出颜色

微信小程序子组件使用canvas无效,线条画不出颜色

小程序中在page中直接使用canvas是这样使用的:

// canvas 全局配置
var context = null;
Page({
	data: {},
	onLoad:function(){
		// 使用 wx.createContext 获取绘图上下文 context
		  context = wx.createCanvasContext('canvas');
		  context.beginPath()
		  context.setStrokeStyle('#000000');
		  context.setLineWidth(4);
		  context.setLineCap('round');
		  context.setLineJoin('round');
		  context.draw();
	},
})

但是在子组件使用时,canvas线条的绘画失败,是线条的颜色设置没有成功,后发现原因如下:

canvas组件注册无效,这个因为createCanvasContext方法在page页面默认传了一个this,在组件里面需要手动传this。同时生成画布的时候wx.canvasToTempFilePath也要传入this,如下面的代码

context = wx.createCanvasContext('canvas',this);

wx.canvasToTempFilePath({
	canvasId:'canvas',
	fileType: 'png',
	success: function(res) {	},
	fail:(e)=>{}
},this)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值