小程序
小游戏
企业微信
微信支付
扫描小程序码分享
求解怎么设置画布大小 写在内联的大小只能是容器大小,只能显示画布的一部分 想缩小画布该怎么设置呢
1 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
现在的 canvas 不能像 h5的 canvas 一样把 画布大小 和 显示大小分别设置,且 canvas 不能 `display:none`。
分享下我的处理方法:
把 canvas 包裹在一个 view 中, 然后把这个 view 高度变成 0,`overflow: hidden` 掉, 也可以把它定位出去。总之就是利用类似的方法把 canvas 隐藏。然后在绘制 canvas 结束后把 canvas 导出到 tempfile,用 img src 去加载。这样可以设置一个较大的画布,但展示成想要的尺寸。 缺点是不能实时渲染展示,导出操作比较消耗性能。 另外还有一个坑: context.draw 的 callback 虽然执行了,但在 android 下不能直接导出 tempfile, 可以 setTimeout 下再导出。直接导出将会导致画布的内容不稳定出错。 另外注意画布的内容大小,和内存占用。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
感谢解惑
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
现在的 canvas 不能像 h5的 canvas 一样把 画布大小 和 显示大小分别设置,且 canvas 不能 `display:none`。
分享下我的处理方法:
把 canvas 包裹在一个 view 中, 然后把这个 view 高度变成 0,`overflow: hidden` 掉, 也可以把它定位出去。总之就是利用类似的方法把 canvas 隐藏。然后在绘制 canvas 结束后把 canvas 导出到 tempfile,用 img src 去加载。这样可以设置一个较大的画布,但展示成想要的尺寸。 缺点是不能实时渲染展示,导出操作比较消耗性能。 另外还有一个坑: context.draw 的 callback 虽然执行了,但在 android 下不能直接导出 tempfile, 可以 setTimeout 下再导出。直接导出将会导致画布的内容不稳定出错。 另外注意画布的内容大小,和内存占用。
感谢解惑