Canvas 移动设备上的webGL图像画布超出范围错误

Canvas 移动设备上的webGL图像画布超出范围错误,canvas,webgl,cesium,Canvas,Webgl,Cesium,我有一个使用Cesiumjs的应用程序,它允许用户将图像或文本(转换为图像)添加到画布。 在桌面环境中一切正常,但在移动设备上我遇到以下错误:WebGL:INVALID\u值:texImage2D:width或height超出范围 研究指出,这是因为画布没有定义宽度或高度。但是,当然,我不知道画布的高度或宽度,因为我正在接受来自用户的内容 查看浏览器统计数据,我发现桌面chrome的MAX\u TEXTURE\u SIZE为16384,而android上的chrome只有4096 我如何使用这些

我有一个使用Cesiumjs的应用程序,它允许用户将图像或文本(转换为图像)添加到画布。 在桌面环境中一切正常,但在移动设备上我遇到以下错误:
WebGL:INVALID\u值:texImage2D:width或height超出范围

研究指出,这是因为画布没有定义宽度或高度。但是,当然,我不知道画布的高度或宽度,因为我正在接受来自用户的内容

查看浏览器统计数据,我发现桌面chrome的
MAX\u TEXTURE\u SIZE
为16384,而android上的chrome只有4096


我如何使用这些信息来解决问题,并为画布提供正确的高度和宽度(如果需要的话),这不会切断图像,但会在最大纹理大小范围内?

为了在移动设备上获得可接受的大小,我必须使用
width=img.width\Cesium.defaultValue(window.devicePixelRatio,1.0)

为了在移动设备上获得可接受的大小,我必须使用
width=img.width\Cesium.defaultValue(window.devicePixelRatio,1.0)

@NikolaLukic不幸的是,将宽度和高度设置为256将返回
glCopyTexSubImage2D:错误的维度
错误。我试过其他尺寸,但仍然看到相同的错误和行为。你需要找一个有Cesiumj背景的人。是从canvas2d到GL2D的吗?webGL的移动变体仍然是冰山一角。。。为这个问题添加类似于“cesiumjs”的标记。@NikolaLukic很遗憾,将宽度和高度设置为256会返回
glCopyTexSubImage2D:错误的维度
错误。我试过其他尺寸,但仍然看到相同的错误和行为。你需要找一个有Cesiumj背景的人。是从canvas2d到GL2D的吗?webGL的移动变体仍然是冰山一角。。。在这个问题上加上“cesiumjs”这样的标签。