这真的很奇怪,当global alCompositeOperation为"source-top"时,它可以工作,但当global alCompositeOperation为""Destination-top""时,它失败了.似乎不同类型的单词不能一起显示.以下是代码片段.
window.requestAnimationFrame(draw);
let FirstTime=Date.now();
function draw(){
var canvas = document.getElementById("myCanvas");
const width_mid=canvas.width/2;
const height_mid=canvas.height/2;
var timeStamp=Date.now();
var num=Math.floor((timeStamp-FirstTime)/300);
if(num>15)
return;
var ctx = canvas.getContext("2d");
ctx.font = "200px 华文行楷";
ctx.textAlign="center";
ctx.fillText("CHH算法网",width_mid,height_mid+40);
// ctx.globalCompositeOperation='source-atop';
ctx.globalCompositeOperation='destination-atop';
ctx.beginPath();
ctx.moveTo(0,300);
ctx.quadraticCurveTo(70,100,200,70);
var end_x=200;
var bezier_x;
for(var i=0;i<num;i++){
if(i%2==0){
end_x+=10;
bezier_x=end_x+100;
}
else{
end_x+=200;
bezier_x=end_x-130;
}
ctx.quadraticCurveTo(bezier_x,i%2?100:100,end_x,i%2?70:280);
}
ctx.strokeStyle="white";
ctx.lineWidth=200;
ctx.stroke();
window.requestAnimationFrame(draw);
}
body{
background-color: rgb(255, 213, 0);
}
#btn{
text-align: center;
position: relative;
left:40%;
top:70px;
width: 200px;
height: 100px;
border-radius: 200px;
color:white;
background-color: rgb(25, 99, 145);
font-size: 30px;
font-family:"Lucida Sans Typewriter";
border:none;
}
#btn:hover{
color:rgb(25, 99, 145);
background-color: white;
}
<canvas id="myCanvas" width="1300px" height="300px"></canvas>
我修改了globalCompositeOperation,发现如果globalCompositeOperation是'destination-atop',只能显示一种类型的单词.我希望做的是用画笔作为橡皮擦擦,擦go 黄色,它下面的标题就会逐渐出现.