我知道我可以使用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优化图像加载
答案 0 :(得分:4)
你问题的第一个谷歌热门是有希望的:
var c=document.getElementById("testCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("existingHTMLImageElementId");
ctx.drawImage(img,10,10);
请参阅w3Schools
答案 1 :(得分: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
}
答案 2 :(得分:1)
假设您有<img>
标记,其ID为image。您可以使用getElementById方法获取图像引用。如下所示:
var img = document.getElementById("image");
然后使用上面的代码。
答案 3 :(得分: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">
答案 4 :(得分:1)
尝试
var canvas=document.getElementById("test");
var ctx=canvas.getContext("2d");
var img=document.getElementById("imgID");
ctx.drawImage(img,10,10);