当前位置:Gxlcms > html代码 > HTML5canvas画布详解(五)

HTML5canvas画布详解(五)

时间:2021-07-01 10:21:17 帮助过:28人阅读

drawImage共提供了三个方法:

1.在画布上定位图像。

  1. context.drawImage(img,x,y);

2.在画布上定位图像,并指定图像的宽度和高度。

  1. context.drawImage(img,x,y,width,height);

3.裁切图像,并在画布上定位被裁切的部分。

  1. context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);

    参数描述
    img规定要使用的图像、画布或视频。
    sx开始剪切图像的 x 坐标位置。
    sy开始剪切图像的 y 坐标位置。
    swidth被剪切图像的宽度。
    sheight被剪切图像的高度。
    x在画布上放置图像的 x 坐标位置。
    y在画布上放置图像的 y 坐标位置。
    width要绘制的图像的宽度。(伸展或缩小图像)
    height要绘制的图像的高度。(伸展或缩小图像)

下面代码包含了以上把图像绘制到canvas上的三种方法:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>canvas绘图</title>
  6. <script>
  7. window.onload = function()
  8. {
  9. drawCanvas1();
  10. drawCanvas2();
  11. drawCanvas3();
  12. }
  13. //context.drawImage(img,x,y);
  14. function drawCanvas1()
  15. {
  16. var canvas = document.getElementById("myCanvas1");
  17. var context = canvas.getContext("2d");
  18. //将图片绘制到canvas上
  19. var img = new Image();
  20. img.src = "1.jpg";
  21. img.onload = function()
  22. {
  23. context.drawImage(img, 0, 0);
  24. };
  25. context.textAlign = "center";
  26. context.fillText("context.drawImage(img,x,y)画原图", 250, 350);
  27. }
  28. //context.drawImage(img,x,y,width,height);
  29. function drawCanvas2()
  30. {
  31. var canvas = document.getElementById("myCanvas2");
  32. var context = canvas.getContext("2d");
  33. //将图片绘制到canvas上
  34. var img = new Image();
  35. img.src = "1.jpg";
  36. img.onload = function()
  37. {
  38. context.drawImage(img, 0, 0, 500, 300);
  39. };
  40. context.textAlign = "center";
  41. context.fillText("context.drawImage(img,x,y,width,height)指定宽和高进行拉伸和缩放", 250, 350);
  42. }
  43. //context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height);
  44. function drawCanvas3()
  45. {
  46. var canvas = document.getElementById("myCanvas3");
  47. var context = canvas.getContext("2d");
  48. //将图片绘制到canvas上
  49. var img = new Image();
  50. img.src = "1.jpg";
  51. img.onload = function()
  52. {
  53. context.drawImage(img, 200,100, 200, 200, 0, 0, 200, 200);
  54. };
  55. context.textAlign = "center";
  56. context.fillText("context.drawImage(img,sx,sy,swidth,sheight,x,y,width,height)", 250, 350);
  57. context.fillText("裁切图片的一部分绘制在画布上,并可进行缩放", 250, 370);
  58. }
  59. </script>
  60. </head>
  61. <body>
  62. <canvas id="myCanvas1" width="500" height="400" style="border:#F00 solid 1px">
  63. 您的浏览器不支持canvas
  64. </canvas>
  65. <canvas id="myCanvas2" width="500" height="400" style="border:#F00 solid 1px">
  66. 您的浏览器不支持canvas
  67. </canvas>
  68. <canvas id="myCanvas3" width="500" height="400" style="border:#F00 solid 1px">
  69. 您的浏览器不支持canvas
  70. </canvas>
  71. <br />
  72. </body>
  73. </html>

效果如下:
这里写图片描述
第一幅:context.drawImage(img, 0, 0)为从画布(0,0)开始绘制,绘制图像原大小。
第二幅:context.drawImage(img, 0, 0, 500, 300)表示为从画布(0,0)开始绘制,并指定绘制图像的宽和高分别为500、300,因此原图会被拉伸或缩小。
第三幅:context.drawImage(img, 200,100, 200, 200, 0, 0, 200, 200);表示从图像的(200,100)位置开始裁切宽和高分别为200、200的部分,并放置在画布的(0,0)位置,并指定绘制图像的宽高分别为200、200。

以上就是HTML5 canvas画布详解(五)的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行