亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 HTML Canvas 中的圖像頂部繪制圓/弧

在 HTML Canvas 中的圖像頂部繪制圓/弧

aluckdog 2022-12-22 09:31:19
我有一個簡單的畫布,背景是一個矩形,底部有一個圖像,我正在嘗試繪制一個圓圈,該圓圈的一部分與圖像重疊。我有點卡在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>
查看完整描述

1 回答

?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

問題是由于加載圖像是異步的,一旦加載并繪制它就會與已經繪制的圖像重疊。


一個解決方案是將繪制太陽的代碼移動到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();

}


查看完整回答
反對 回復 2022-12-22
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號