【发布时间】:2015-09-02 05:53:46
【问题描述】:
渲染以下图像时(右键单击+查看图像以查看完整尺寸):
大小为 4800x320 的 html5 canvas.drawImage() 并尝试从中裁剪部分 480x320 图像,画布将图像炸毁。
这是我的代码:
var canvas = document.createElement('canvas');
canvas.setAttribute('id', 'my-canvas');
canvas.style.width = 480;
canvas.style.height = 320;
canvas.style.display = 'block';
document.body.appendChild(canvas);
var img=document.createElement('img');
img.src='http://cdn.cocimg.com/bbs/attachment/Fid_14/14_29173_56b5563d9a81a86.png';
img.onload = function () {
var c=document.getElementById('my-canvas');
var ctx=c.getContext('2d');
ctx.drawImage(img,480,0,480,320,0,0,480,320);
}
另外,当我将图像绘制成更小的比例时,它突然适合:
var canvas = document.createElement('canvas');
canvas.setAttribute('id', 'my-canvas');
canvas.style.width = 480;
canvas.style.height = 320;
canvas.style.display = 'block';
document.body.appendChild(canvas);
var img=document.createElement('img');
img.src='http://cdn.cocimg.com/bbs/attachment/Fid_14/14_29173_56b5563d9a81a86.png';
img.onload = function () {
var c=document.getElementById('my-canvas');
var ctx=c.getContext('2d');
ctx.drawImage(img,480,0,480,320,0,0,240,160);
}
有人知道这是为什么吗?
【问题讨论】:
标签: javascript css html canvas drawimage