首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用canvas方法putImageData

无法使用canvas方法putImageData
EN

Stack Overflow用户
提问于 2012-08-24 18:43:48
回答 1查看 379关注 0票数 1

我有以下代码:

代码语言:javascript
复制
var img = new Image();
canvas = document.getElementById("c");
ctx = canvas.getContext('2d')
canvas2 = document.getElementById("c2");
ctx2 = canvas2.getContext('2d')
img.onload = function () {
    canvas.width = img.width;
    canvas.height = img.height;
ctx.drawImage(img,0,0);
};
img.src = 'mwq.gif';
var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
ctx2.putImageData(imageData, 0, 0);

我在第一个画布元素上获得了图像,当我在控制台中签入时,有imageData,宽度,长度和像素数组,但不知何故,我无法在另一个画布元素上获得该图像。我不认为有拼写错误,我重写了几次相同的代码,最后我将它剥离到最小版本,没有像素操作,但它仍然不起作用。

EN

回答 1

Stack Overflow用户

发布于 2012-08-24 18:47:08

您的代码不是在onload回调中调用的,它是在加载图像之前执行的,所以没有什么可放入的。

您可以将其更改为

代码语言:javascript
复制
var img = new Image();
canvas = document.getElementById("c");
ctx = canvas.getContext('2d')
canvas2 = document.getElementById("c2");
ctx2 = canvas2.getContext('2d')
img.onload = function () {
    canvas.width = img.width;
    canvas.height = img.height;
    ctx.drawImage(img,0,0);
    var imageData = ctx.getImageData(0, 0, canvas.width, canvas.height);
    ctx2.putImageData(imageData, 0, 0);
};
img.src = 'mwq.gif';
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12107867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档