5

我知道我可以使用 javascript 做到这一点:

var ctx = getCanvas('testCanvas').getContext('2d'); // get Canvas context
var img = new Image();
img.src = 'test.png';
img.onload = function(){
    ctx.drawImage(img, 200, 200); // x, y, width, height
}

但是如何将现有标签绘制到画布上:

在 html 中:

<img src='test.png'>

我为什么要这样做?我想使用 pagespeed 优化图像加载

4

5 回答 5

4

你的问题的第一个谷歌命中是有希望的:

var c=document.getElementById("testCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("existingHTMLImageElementId");
ctx.drawImage(img,10,10);

w3Schools

于 2013-07-17T06:36:36.087 回答
2

尝试

var canvas=document.getElementById("test");
var ctx=canvas.getContext("2d");
var img=document.getElementById("imgID");
ctx.drawImage(img,10,10);
于 2013-07-17T06:59:08.167 回答
1

假设你有 id #image,你可以使用

var img = document.getElementById("image");
var ctx = getCanvas('testCanvas').getContext('2d'); // get Canvas context
img.onload = function(){
    ctx.drawImage(img, 200, 200); // x, y, width, height
}
于 2013-07-17T06:36:03.943 回答
1

假设您有一个<img>带有图像 id 的标签。您可以使用 getElementById 方法获取图像参考。类似于以下内容:

var img = document.getElementById("image");

然后使用上面的代码。

于 2013-07-17T06:36:42.277 回答
1

您可以将图像 src 赋予新图像

var ctx = getCanvas('testCanvas').getContext('2d'); // get Canvas context
var img = new Image();
img.src = document.getElementById('testImage').src;
img.onload = function(){
    ctx.drawImage(img, 200, 200); // x, y, width, height
}

将 id 添加到您的图像元素

<img src='test.png' id="testImage">
于 2013-07-17T06:36:58.543 回答