drawImage propose trois méthodes :
1. Positionnez l'image sur la toile.
context.drawImage(img,x,y);
2. Positionnez l'image sur la toile et précisez la largeur et la hauteur de l'image.
context.drawImage(img,x,y,width,height);
3. Recadrez l'image et positionnez la partie recadrée sur la toile.
context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
参数 | 描述 |
---|---|
img | 规定要使用的图像、画布或视频。 |
sx | 开始剪切图像的 x 坐标位置。 |
sy | 开始剪切图像的 y 坐标位置。 |
swidth | 被剪切图像的宽度。 |
sheight | 被剪切图像的高度。 |
x | 在画布上放置图像的 x 坐标位置。 |
y | 在画布上放置图像的 y 坐标位置。 |
width | 要绘制的图像的宽度。(伸展或缩小图像) |
height | 要绘制的图像的高度。(伸展或缩小图像) |
Le code suivant contient les trois méthodes ci-dessus pour dessiner des images sur une toile :
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>canvas绘图</title> <script> window.onload = function() { drawCanvas1(); drawCanvas2(); drawCanvas3(); } //context.drawImage(img,x,y); function drawCanvas1() { var canvas = document.getElementById("myCanvas1"); var context = canvas.getContext("2d"); //将图片绘制到canvas上 var img = new Image(); img.src = "1.jpg"; img.onload = function() { context.drawImage(img, 0, 0); }; context.textAlign = "center"; context.fillText("context.drawImage(img,x,y)画原图", 250, 350); } //context.drawImage(img,x,y,width,height); function drawCanvas2() { var canvas = document.getElementById("myCanvas2"); var context = canvas.getContext("2d"); //将图片绘制到canvas上 var img = new Image(); img.src = "1.jpg"; img.onload = function() { context.drawImage(img, 0, 0, 500, 300); }; context.textAlign = "center"; context.fillText("context.drawImage(img,x,y,width,height)指定宽和高进行拉伸和缩放", 250, 350); } //context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height); function drawCanvas3() { var canvas = document.getElementById("myCanvas3"); var context = canvas.getContext("2d"); //将图片绘制到canvas上 var img = new Image(); img.src = "1.jpg"; img.onload = function() { context.drawImage(img, 200,100, 200, 200, 0, 0, 200, 200); }; context.textAlign = "center"; context.fillText("context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height)", 250, 350); context.fillText("裁切图片的一部分绘制在画布上,并可进行缩放", 250, 370); } </script> </head> <body> <canvas id="myCanvas1" width="500" height="400" style="border:#F00 solid 1px"> 您的浏览器不支持canvas </canvas> <canvas id="myCanvas2" width="500" height="400" style="border:#F00 solid 1px"> 您的浏览器不支持canvas </canvas> <canvas id="myCanvas3" width="500" height="400" style="border:#F00 solid 1px"> 您的浏览器不支持canvas </canvas> <br /> </body> </html>
Effet comme suit :
La première image : context.drawImage(img, 0, 0) commence à dessiner à partir du canevas (0,0) et dessine la taille originale de l'image.
La deuxième image : context.drawImage(img, 0, 0, 500, 300) signifie qu'il commence à dessiner à partir du canevas (0,0), et précise que la largeur et la hauteur de l'image dessinée sont 500 et 300 respectivement, l'image originale sera étirée ou réduite.
La troisième image : context.drawImage(img, 200,100, 200, 200, 0, 0, 200, 200); signifie recadrer la partie d'une largeur et d'une hauteur de 200 et 200 respectivement à partir de la position (200,100) du image. Et placez-le à la position (0,0) du canevas et spécifiez la largeur et la hauteur de l'image dessinée comme 200 et 200 respectivement.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!