相关疑难解决方法(0)

Canvas toDataURL()仅在Firefox中返回空白图像

我正在使用glfx.js来编辑我的图像但是当我试图使用该toDataURL()函数获取该图像的数据时,我得到一个空白图像(宽度与原始图像的大小相同).

奇怪的是,在Chrome中脚本运行完美.

我想提到的是canvas使用onload事件加载图像:

           img.onload = function(){

                try {
                    canvas = fx.canvas();
                } catch (e) {
                    alert(e);
                    return;
                }

                // convert the image to a texture
                texture = canvas.texture(img);

                // draw and update canvas
                canvas.draw(texture).update();

                // replace the image with the canvas
                img.parentNode.insertBefore(canvas, img);
                img.parentNode.removeChild(img);

            }
Run Code Online (Sandbox Code Playgroud)

我的图像的路径也在同一个域上;

问题(在Firefox中)是我点击保存按钮.Chrome会返回预期的结果,但Firefox会返回此信息:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7YAAAIWCAYAAABjkRHCAAAHxklEQVR4nO3BMQEAAADCoPVPbQZ/oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
... [ lots of A s ] ... 
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAzwD6aAABkwvPRgAAAABJRU5ErkJggg==
Run Code Online (Sandbox Code Playgroud)

什么可能导致这个结果,我该如何解决?

javascript firefox canvas webgl todataurl

17
推荐指数
1
解决办法
8783
查看次数

为什么我的画布在转换为图像后会变成空白?

我正在尝试使用以下代码段将此页面canvas上的元素转换为png(例如,在JavaScript控制台中输入):

(function convertCanvasToImage(canvas) {
  var image = new Image();
  image.src = canvas.toDataURL("image/png");
  return image;
})($$('canvas')[0]);
Run Code Online (Sandbox Code Playgroud)

不幸的是,我得到的png是完全空白的.另请注意,在调整页面大小后,原始画布将变为空白.

为什么canvas空白?我该如何将其转换canvas为png?

javascript canvas webgl

10
推荐指数
1
解决办法
6235
查看次数

webgl canvas的toDataURL()仅在iOS中返回透明图像

我有一个带有webGL绘图的画布,由Blend4Web框架创建.

我尝试使用toDataURL()以下方法保存图像:

image= $('canvas')[0].toDataURL();
Run Code Online (Sandbox Code Playgroud)

所有平台都很完美,除了iOS(iphone和ipad)

我知道webGL方面:Canvas toDataURL()仅在Firefox中返回空白图像,preserveDrawingBuffer已启用.

另外,我知道iOS中的限制:iOS HTML5 Canvas toDataURL,但画布很小,甚至100×500px图像都是空白的(它是0,05MP,限制是3MP).

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

javascript canvas webgl ios

7
推荐指数
1
解决办法
971
查看次数

webgl canvas的toDataURL()返回透明图像

我无法使用toDataUrl()。这是我尝试获取画布图像并将其用作现有图像元素来源的代码。

var canvas = document.getElementById('glcanvas');
canvas.setAttribute('crossOrigin','anonymous');
var img = document.getElementById('imageToShowCanvas');
img.src = canvas.toDataURL();
Run Code Online (Sandbox Code Playgroud)

imageToShowCanvas显示的是一个损坏的URL。当我console.log调用toDataUrl()的结果时,我得到一个链接,该链接显示具有画布高度和宽度的透明图像。

我听说过cors问题会导致此类问题,但我正在将chrome与–allow-file-access-from-files标志一起使用,并且控制台中没有任何安全性错误。有没有更简单的方法来获取我的webGl画布的屏幕截图?

javascript html5 canvas webgl

5
推荐指数
1
解决办法
5865
查看次数

通过canvas.toDataURL将画布保存到图像会产生黑色矩形

我正在使用Pixi.js并尝试将动画帧保存到图像中.canvas.toDataUrl应该可以工作,但我得到的只是一个黑色矩形.在这里查看实例

我用来提取图像数据和设置图像的代码是:

            var canvas = $('canvas')[0];
            var context = canvas.getContext('2d');

            $('button').click(function() {

                var data = renderer.view.toDataURL("image/png", 1);
                //tried var data = canvas.toDataURL();
                $('img').attr('src', data);
            })
Run Code Online (Sandbox Code Playgroud)

javascript canvas webgl html5-canvas pixi.js

2
推荐指数
2
解决办法
6232
查看次数

标签 统计

canvas ×5

javascript ×5

webgl ×5

firefox ×1

html5 ×1

html5-canvas ×1

ios ×1

pixi.js ×1

todataurl ×1