gpt4 book ai didi

javascript - 仅在 iOS 中返回透明图像的 webgl Canvas 的 toDataURL()

转载 作者:可可西里 更新时间:2023-11-01 03:34:03 24 4
gpt4 key购买 nike

我有一个带有 webGL 绘图的 Canvas ,由 Blend4Web 框架创建。

我尝试使用 toDataURL() 保存图像:

image= $('canvas')[0].toDataURL();

除 iOS(iphone 和 ipad)外,所有平台都完美运行

我了解 webGL 方面:Canvas toDataURL() returns blank image only in Firefox , preserveDrawingBuffer 已启用。

另外,我知道 iOS 的限制:iOS HTML5 Canvas toDataURL ,但是 Canvas 很小,即使是 100×500px 的图像也是空白的(它是 0,05MP,限制是 3MP)。

我使用 toDataURL() 在服务器上发送图形信息。

最佳答案

以下是 toDataURL 的 polyfill。为了让 toBlob 在 iOS 上工作,您需要一个额外的 polyfill,我推荐以下 polyfill:https://github.com/blueimp/JavaScript-Canvas-to-Blob .基本上只要下载 canvas-to-blob.min.js .我会推荐其他人提供的直接 toDataURL polyfill,但我找不到。

if (typeof HTMLCanvasElement.prototype.toDataURL !== "function") {
HTMLCanvasElement.prototype.toDataURL = function() {
this.toBlob(function (blob) {
var fileReader = new FileReaderSync();
return fileReader.readAsDataURL(blob);
});
};
}

关于javascript - 仅在 iOS 中返回透明图像的 webgl Canvas 的 toDataURL(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47009400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com