2012-09-04 53 views

回答

2

使用:

function objectifyImage(i) { 
    var img_obj = new Image(); 
    img_obj.src = i; 
    return img_obj; 
} 

var canvas = document.getElementById('display'); 
var context = canvas.getContext('2d'); 
i = objectifyImage('https://www.google.co.uk/images/srpr/logo3w.png'); 
i.onload = function() { 
    canvas.width = i.width; 
    canvas.height = i.height; 

    context.drawImage(i, 0, 0); 
}; 
​ 

演示:http://jsfiddle.net/ycjCe/1/


该元件可以任意地由CSS的尺寸,但呈现 图像被缩放以适合其布局大小期间。 (如果你的渲染似乎 扭曲,可以尝试使用您的宽度和高度明确 属性在属性,而不是CSS。)

来源:https://developer.mozilla.org/en-US/docs/Canvas_tutorial/Basic_usage

+0

当然!这样做更有意义。谢谢,我会在时间限制结束时标记为答案。 – jdborg

+0

@jdborg不客气;) – Yoshi

0

看来我= objectifyImage将设置图片src在定义image.onload处理程序之前。这会导致缓存的图像在onload定义之前在某些浏览器上加载。在设置image.src之前总是定义onload处理程序是一个好主意,以避免缓存图像的计时问题。