在HTML Canvas中的图像顶部绘制圆/弧

JC1

我有一个简单的画布,其背景为矩形,底部为图像,我试图绘制一个圆圈,其中一部分与图像重叠。我在使用时有点卡住globalCompositeOperation,使得弧/圆出现在画布上图像的顶部。

码:

   var canvas = document.getElementById('myCanvas');
      var context = canvas.getContext('2d');
      var centerX = canvas.width / 2;
      var centerY = canvas.height / 2;
      var radius = 70;

      context.fillStyle = "#29BEF1";
      context.fillRect(0, 0, 800, 131);

       var img = new Image;
       img.src = 'https://i.imgur.com/aN26XpH.png';

       img.onload = function() {
          context.drawImage(img, 0, 29)
      } 

      context.beginPath();
      context.arc(800, -29, 87, 0, 2 * Math.PI);
      context.closePath();
      context.fillStyle = '#FEDB62';
      context.fill();
      body {
        margin: 0px;
        padding: 0px;
      }
    <canvas id="myCanvas" width="800" height="131"></canvas>

劳伦斯·切罗尼

造成此问题的原因是,加载图像是异步的,然后加载并绘制图像后,它就会与已绘制的图像重叠。

一种解决方案是将吸引阳光的代码移到onload回调中。

img.onload = function() {
  // draw image
  context.drawImage(img, 0, 29)

  // draw sun
  context.beginPath();
  context.arc(800, -29, 87, 0, 2 * Math.PI);
  context.closePath();
  context.fillStyle = '#FEDB62';
  context.fill();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在 html canvas 中绘制的图像不是全尺寸

来自分类Dev

如何使用 HTML Canvas 在图像上绘制?

来自分类Dev

在保留图像的同时在HTML5 Canvas中绘制图像

来自分类Dev

如何在canvas-html5中绘制图像并替换为现有函数

来自分类Dev

为什么不能在HTML5 Canvas中绘制图像阵列?

来自分类Dev

在HTML canvas中重新绘制对象的问题

来自分类Dev

HTML5 Canvas:向不断绘制的图像添加碰撞

来自分类Dev

从URL加载图像并绘制到HTML5 Canvas

来自分类Dev

HTML5 Canvas:向不断绘制的图像添加碰撞

来自分类Dev

通过已知半径为2D的圆缠结点绘制圆弧以适合html画布中的角度

来自分类Dev

如何使用canvas和javascript在图表中绘制实心圆弧?

来自分类Dev

如何使用canvas和javascript在图表中绘制实心圆弧?

来自分类Dev

如何使用canvas和javascript在图表中绘制实心圆弧?

来自分类Dev

如何使用canvas和javascript在图表中绘制实心圆弧?

来自分类Dev

如何在HTML中的图像顶部添加元素?

来自分类Dev

HTML Canvas在渲染图像中添加文本或图像

来自分类Dev

如何使用JavaScript在HTML5 Canvas中绘制圆?

来自分类Dev

如何在html canvas中的文本周围绘制矩形?

来自分类Dev

绘制到html画布中的png图像质量不佳

来自分类Dev

使用javascript在html5中绘制图像

来自分类Dev

通过HTML5 Canvas Context缩放并在给定图像上绘制网格

来自分类Dev

列表内的HTML5 Canvas,无法在所有画布上绘制图像

来自分类Dev

HTML5 Canvas-如何在画布上的图像上绘制矩形

来自分类Dev

HTML 5 Canvas-旋转,缩放,平移和绘制图像

来自分类Dev

通过HTML5 Canvas Context缩放并在给定图像上绘制网格

来自分类Dev

用合适的图像绘制HTML

来自分类Dev

HTML5如何在Canvas中调用图像

来自分类Dev

HTML5 Canvas中的图像单击事件

来自分类Dev

HTML5如何在Canvas中调用图像

Related 相关文章

  1. 1

    在 html canvas 中绘制的图像不是全尺寸

  2. 2

    如何使用 HTML Canvas 在图像上绘制?

  3. 3

    在保留图像的同时在HTML5 Canvas中绘制图像

  4. 4

    如何在canvas-html5中绘制图像并替换为现有函数

  5. 5

    为什么不能在HTML5 Canvas中绘制图像阵列?

  6. 6

    在HTML canvas中重新绘制对象的问题

  7. 7

    HTML5 Canvas:向不断绘制的图像添加碰撞

  8. 8

    从URL加载图像并绘制到HTML5 Canvas

  9. 9

    HTML5 Canvas:向不断绘制的图像添加碰撞

  10. 10

    通过已知半径为2D的圆缠结点绘制圆弧以适合html画布中的角度

  11. 11

    如何使用canvas和javascript在图表中绘制实心圆弧?

  12. 12

    如何使用canvas和javascript在图表中绘制实心圆弧?

  13. 13

    如何使用canvas和javascript在图表中绘制实心圆弧?

  14. 14

    如何使用canvas和javascript在图表中绘制实心圆弧?

  15. 15

    如何在HTML中的图像顶部添加元素?

  16. 16

    HTML Canvas在渲染图像中添加文本或图像

  17. 17

    如何使用JavaScript在HTML5 Canvas中绘制圆?

  18. 18

    如何在html canvas中的文本周围绘制矩形?

  19. 19

    绘制到html画布中的png图像质量不佳

  20. 20

    使用javascript在html5中绘制图像

  21. 21

    通过HTML5 Canvas Context缩放并在给定图像上绘制网格

  22. 22

    列表内的HTML5 Canvas,无法在所有画布上绘制图像

  23. 23

    HTML5 Canvas-如何在画布上的图像上绘制矩形

  24. 24

    HTML 5 Canvas-旋转,缩放,平移和绘制图像

  25. 25

    通过HTML5 Canvas Context缩放并在给定图像上绘制网格

  26. 26

    用合适的图像绘制HTML

  27. 27

    HTML5如何在Canvas中调用图像

  28. 28

    HTML5 Canvas中的图像单击事件

  29. 29

    HTML5如何在Canvas中调用图像

热门标签

归档