KJ *_*dis 1 html javascript canvas
我正在尝试将URL中的图像以1:1比例加载到HTML画布中。我加载图像,并将canvas DOM元素设置为适当的尺寸,但是由于某些原因,canvas中的图像被大幅放大,因此仅绘制了左上角。
以下JSFiddle对此进行了演示:http : //jsfiddle.net/KdrYr/1/
var img = new Image();
var cv = document.getElementById('thecanvas');
img.src = 'http://www.photographyblogger.net/wp-content/uploads/2009/12/Picture-in-a-picture4.jpg';
img.onload = function() {
var ctx = cv.getContext('2d');
cv.style.width = img.width + 'px';
cv.style.height = img.height + 'px';
ctx.drawImage(img, 0, 0);
};
Run Code Online (Sandbox Code Playgroud)
例如,我正在尝试绘制此图像(对大图像表示抱歉:/)
但是最后
是什么原因造成的?
您需要分配画布的实际宽度和高度,而不是通过其样式:
cv.width = img.width;
cv.height = img.height;
Run Code Online (Sandbox Code Playgroud)