需求如下,我需要绘制几张图片,从上往下绘制,假如图片总高度超过了4000,那么在真机上就无法绘制了,做了很多次试验,发现超过4000后就会出现问题,少于4000能绘制成功,如果有最高的限制,那这种需求应该怎么实现呢?
代码如下:
// 获取canvas实例和画笔
getMyCanvasAndCtx(id) {
return new Promise(resolve => {
const query = wx.createSelectorQuery().in(this) //因为在组件中----所以要加入 .in(this)如果在页面中可以去掉
query.select(`#${id}`)
.fields({
node: true,
size: true
})
.exec((res) => {
const canvas = res[0].node
const ctx = canvas.getContext('2d')
const dpr = wx.getSystemInfoSync().pixelRatio
// canvas.width = this.data.maxWidth
// canvas.height = this.data.totalHeight
console.log('根据图片尺寸设置画布宽高:', this.data.maxWidth, '----:', this.data.totalHeight)
canvas.width = 2000
canvas.height = 4000
//如果给height设置超过4000的值,在真机上无法得到canvas 和ctx
this.setData({
canvas: canvas,
ctx: ctx
}, () => {
resolve({
canvas,
ctx
})
})
})
})
多个canvas画图。
https://developers.weixin.qq.com/community/develop/doc/00008a54a8c2007747ec837d256c00
画几张图片有这么大一张的图片嘛,图片大小不是你自己控制的嘛