【发布时间】:2013-06-19 23:50:43
【问题描述】:
我正在尝试创建 3 个画布。
- 第一个画布由 image1 组成。
- 第二个画布由 image2 组成。
- 第三个画布是我想使用 javascript 从 DataURL() 中绘制 image1 的画布。
但是,我无法绘制它。是不是我做错了什么?
HTML 代码
<body>
<img id="image1" src="http://www.gravatar.com/avatar/0e39d18b89822d1d9871e0d1bc839d06?s=128&d=identicon&r=PG">
<canvas id="myCanvas"></canvas>
<img id="image2" src="http://nuclearpixel.com/content/icons/2010-02-09_stellar_icons_from_space_from_2005/earth_128.png">
<canvas id="myCanvas2"></canvas>
<canvas id="myCanvas3"></canvas>
</body>
JavaScript
var c = document.getElementById("myCanvas");
var a = c.toDataURL();
alert(a);
var myCanvas = document.getElementById('myCanvas3');
var ctx = myCanvas.getContext('2d');
var img = new Image;
img.src = a;
ctx.drawImage(img, 20, 20);
【问题讨论】:
-
你试过
onload方法了吗?img.onload = function(){ ctx.drawImage(img, 20, 20); };在img.src=a;之后 -
@mohkhan 是的,我试过了,但还是失败了。看一下这个。 jsfiddle.net/khongming/ZQ5Z3 警报显示 dataURL() 正在工作。
-
如何将任何图像数据放入
myCanvas第一个画布? -
为什么不直接使用 ctx.drawImage(c,20,30) 而不是使用慢速 dataURL() 过程?
-
@VeXii 从这里
var c = document.getElementById("myCanvas"); var a = c.toDataURL();我从myCanvas得到DataURL。我实验的全部目的是从DataURL中绘制图像
标签: javascript html image canvas src