【发布时间】:2018-07-21 08:24:50
【问题描述】:
笔:https://codepen.io/jaredstanley/pen/gvmNye
var canvas = document.getElementById('c');
var ctx = canvas.getContext("2d");
var centerw = canvas.width/2;
var centerh = canvas.height/2;
var sq_w = 80;
//
ctx.beginPath();
//draw rectangle
ctx.rect(this.centerw-(sq_w/2), 0,sq_w, canvas.height);
//draw circle
ctx.arc(this.centerw, this.centerh, 185, 0, Math.PI * 2, true);
//fill
ctx.fill();
形状都在绘制,但形状的交集是空白的。
希望有一个单一的填充形状,但得到以下结果:[
要求:
不能使用CanvasRenderingContext2D.globalCompositeOperation,因为我将其用于其他用途;这需要用作单个形状,因此我可以使用该形状来...剪辑()。
注意:当使用两个 rect() 调用时它可以工作,当使用两个 arc() 调用它可以工作,但混合它们似乎会导致问题。
看起来应该很容易,但我很难过,我认为缺少一些基本的东西。谢谢!
【问题讨论】:
标签: javascript html canvas graphics drawing