小程序
小游戏
企业微信
微信支付
扫描小程序码分享
主域Canvas是WebGL的,开放数据域的Canvas是2d的,能把开放数据域的shareCanvas绘制到主域的上屏Canvas吗?
13 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
@周玉龙,你可以看我的另一篇帖子,https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=000a48ebaa0628f3d686b9a9b56804&token=448351662&lang=zh_CN
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
楼主 能不能把你主域webgl绘制sharedCanvas核心代码告知一下。我也遇到同样问题了
@白开水,我用webGL的方式绘制,没有显示出来,请看我的另一篇帖子,https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=1399075349&docid=000aee26c88d08f67b868fe2056400
调用h5的绘图API自己画,shareCanvas是2d模式渲染的,API比较简单
楼主你是如何画排行榜这个列表的,能用游戏引擎吗?还是一点一点画
你好 我这边做开放数据域。数据是获取到了 但是没事时canvas加载完了,异步数据还没有获取到。导致无法绘制。请问是什么原因呢? 楼主能留个联系方式 讨论下吗
开放数据域需要保证数据的安全,没有提供向主域发消息通知的能力。
在主域中按照如下可以操作 sharedCanvas
let openDataContext = wx.getOpenDataContext()
let sharedCanvas = openDataContext.canvas
sharedCanvas.width = 300
sharedCanvas.height = 500
let sharedCanvasContext = sharedCanvas.getContext('2d')
sharedCanvasContext.fillStyle="#FF0000";
sharedCanvasContext.fillRect(0,0,300,500);
canvasCtx.drawImage(sharedCanvas, 40, 60, 300, 500)
反而在开放数据域确无法操作sharedCanvas
let sharedCanvas = wx.getSharedCanvas()
sharedCanvasContext.fillStyle = 'blue'
sharedCanvasContext.fillRect(0, 0, 100, 100)
var grd=sharedCanvasContext.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"green");
// 填充渐变
sharedCanvasContext.fillStyle=grd;
sharedCanvasContext.fillRect(10,10,150,80)
请问一下我是写的有问题吗
这样作,性能上很浪费的
只能由主域不断地去更新
开放数据域里的好友数据,从微信后台获取是异步的,数据加载完,在sharedCanvas上绘制排行榜,然后再绘制到主域的上屏Canvas上,然而开放数据域不能向外发消息,那如何通知主域开始绘制排行榜?
正在加载...
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
@周玉龙,你可以看我的另一篇帖子,https://developers.weixin.qq.com/blogdetail?action=get_post_info&docid=000a48ebaa0628f3d686b9a9b56804&token=448351662&lang=zh_CN
楼主 能不能把你主域webgl绘制sharedCanvas核心代码告知一下。我也遇到同样问题了
@白开水,我用webGL的方式绘制,没有显示出来,请看我的另一篇帖子,https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=1399075349&docid=000aee26c88d08f67b868fe2056400
调用h5的绘图API自己画,shareCanvas是2d模式渲染的,API比较简单
楼主你是如何画排行榜这个列表的,能用游戏引擎吗?还是一点一点画
你好 我这边做开放数据域。数据是获取到了 但是没事时canvas加载完了,异步数据还没有获取到。导致无法绘制。请问是什么原因呢? 楼主能留个联系方式 讨论下吗
开放数据域需要保证数据的安全,没有提供向主域发消息通知的能力。
在主域中按照如下可以操作 sharedCanvas
let openDataContext = wx.getOpenDataContext()
let sharedCanvas = openDataContext.canvas
sharedCanvas.width = 300
sharedCanvas.height = 500
let sharedCanvasContext = sharedCanvas.getContext('2d')
sharedCanvasContext.fillStyle="#FF0000";
sharedCanvasContext.fillRect(0,0,300,500);
canvasCtx.drawImage(sharedCanvas, 40, 60, 300, 500)
反而在开放数据域确无法操作sharedCanvas
let sharedCanvas = wx.getSharedCanvas()
let sharedCanvasContext = sharedCanvas.getContext('2d')
sharedCanvasContext.fillStyle = 'blue'
sharedCanvasContext.fillRect(0, 0, 100, 100)
var grd=sharedCanvasContext.createLinearGradient(0,0,200,0);
grd.addColorStop(0,"red");
grd.addColorStop(1,"green");
// 填充渐变
sharedCanvasContext.fillStyle=grd;
sharedCanvasContext.fillRect(10,10,150,80)
请问一下我是写的有问题吗
这样作,性能上很浪费的
只能由主域不断地去更新
开放数据域里的好友数据,从微信后台获取是异步的,数据加载完,在sharedCanvas上绘制排行榜,然后再绘制到主域的上屏Canvas上,然而开放数据域不能向外发消息,那如何通知主域开始绘制排行榜?