html5 Canvas 使用drawImage()绘制图像,在画布上绘制图像之前,需要创建一个Image对象,然后将图像加载到内存中。 html5画布具有用于在其上绘制图像的选项。您可以使用drawImage()2D上下文对象上的各种功能来执行此操作。有三种不同的drawImage()功能: drawImage(image, dx, dy); drawImage(image, dy, dw, dh); drawImage(image, sx, sy, sw, sh, dh); 第一个参数image是要绘制的图像。本文稍后将说明如何创建和加载图像。 创建和加载图像在画布上绘制图像之前,需要创建一个Image对象,然后将图像加载到内存中。这是用JavaScript完成的方法: var image = new Image(); image.src = "https://www.nhooo.com/run/html/canvas-shot.png"; 必须先完全加载图像,然后才能绘制图像。要确定图像是否已完全加载,请在图像上附加一个事件侦听器。加载图像时将调用此事件侦听器。看起来是这样的: image.addEventListener('load', drawImage1); 该drawImage1参数是事件触发时调用的函数。 window.onload = function() { drawEx1(); }var image1 = null; function drawEx1() { image1 = new Image(); image1.src = "https://www.nhooo.com/run/html/canvas-shot.png"; image1.addEventListener('load', drawImage1); } function drawImage1() { var canvas = document.getElementById("ex1"); var context = canvas.getContext("2d"); context.drawImage(image1, 10, 10); } 这是在画布上绘制时上述代码的结果: 缩放图像如本文开头所述,您可以在绘制图像时缩放图像。这是一个代码示例,该示例绘制图像并将其缩放为200的宽度和100像素的高度: var width = 200; var height = 100; context.drawImage(image2, width, height); 是在画布上绘制时图像的外观,具有缩放的宽度和高度: 绘制图像的一部分可以仅将图像的一部分绘制到画布上。绘制的部分是从图像复制的矩形。这是代码示例: var dx = 10; var dy = 10; var dw = 75; var dh = 75; var sx = 20; var sy = 20; var sw = 75; var sh = 75; context.drawImage(image3, dh); 参数为sx,sy,sw和sh(声明sx,sy矩形开始)图像,并且宽度(sw)和高度(sh)的矩形. 这是在画布上绘制时图像矩形的外观: |