CanvasRenderingContext2D.drawImage()
方法可以在Canvas上绘制图像。
** 语法 **
1 | void ctx.drawImage(image, dx, dy); |
** 参数 **
image
** 绘制到上下文的元素。允许任何的 canvas 图像源(CanvasImageSource),例如:HTMLImageElement,HTMLVideoElement,或者 HTMLCanvasElement。**
dx
** 目标画布的左上角在目标canvas上 X 轴的位置。**dy
** 目标画布的左上角在目标canvas上 Y 轴的位置。**
dWidth
** 在目标画布上绘制图像的宽度。 允许对绘制的图像进行缩放。 如果不说明, 在绘制时图片宽度不会缩放。**
dHeight
** 在目标画布上绘制图像的高度。 允许对绘制的图像进行缩放。 如果不说明, 在绘制时图片高度不会缩放。**sx
** 需要绘制到目标上下文中的,源图像的矩形选择框的左上角 X 坐标。**
sy
** 需要绘制到目标上下文中的,源图像的矩形选择框的左上角 Y 坐标。**
sWidth
** 需要绘制到目标上下文中的,源图像的矩形选择框的宽度。如果不说明,整个矩形从坐标的sx和sy开始,到图像的右下角结束。**
sHeight
** 需要绘制到目标上下文中的,源图像的矩形选择框的高度。**
** 易错点 **
需要注意的是,调用drawImage时,若图片没有加载完,什么也不会发生。
因此你应该用load时间来保证不会在加载完毕之前使用这个图片
1 | var img = new Image(); // 创建img元素 |
1 | <body onload="draw();"> |
以上这段代码我在执行的时候,却没有加载出图片。
后来我将图片压缩了下,就可以正常工作了。