我试图绘制图像到画布上,像这样:的javascript:如何canvas.drawImage工作
var c=document.getElementById("myCanvas");
var ctx=c.getContext("2d");
var img=document.getElementById("scream");
ctx.drawImage(img,0,0,100,100,0,0,200,200);
画布是由200像素和200像素的图像要大得多(但在200像素风格也就是200px)
正如您在jsfiddle中所看到的,画布不显示图像(我期待图像的一部分)。 我的drawImage的理解(如被描述here)是这样的:
- “0,0,100,100”,其是被吸入到画布上的部分中的图像上定义一矩形。 0,0定义了顶部/左边角,100,100是边的宽度。
- 这个矩形被绘制到矩形内的帆布0,0,200,200
任何建议定义什么不顺心吗?
错误有,我相信,图像尚未加载。我认为你需要使用回调函数来显示图像,一旦它被加载,但我会留下实际的答案给谁肯定的人:) – kviiri
jsfiddle问题是跨域,在你机器的作品? –
@kviiri:没有问题,提问者从图像中剪下了白色空间。但是如果图像之前没有加载(不在浏览器缓存中),那么确实会发生这种情况。 – GitaarLAB