<canvas id="myCanvas" width="210" height="210"></canvas>
JQuery 1.9.1
$(function(){ var ctx=$('#myCanvas')[0].getContext('2d'); var _x=$('#myCanvas').width()/2;//設定圓心的x軸 var _y=$('#myCanvas').height()/2;//設定圓心的y軸 var radius=100;//設定半徑 var offset=65;//設定位移距離 ctx.save();//設定這個斷點以上的code為起始儲存點 //遮罩範圍 ctx.beginPath();//開始繪製遮罩 ctx.arc(_x,_y,radius,0,2*Math.PI,false);//繪製一個正圓形的遮罩 ctx.clip();//設定遮罩功能 //繪製A圖 ctx.beginPath();//開始繪製A圖 ctx.arc(_x-offset,_y-offset,radius,0,2*Math.PI,false);//繪製一個向左上角偏移的圓形 ctx.fillStyle='#0D4351';//設定為深藍 ctx.fill();//填色 //繪製B圖 ctx.beginPath();//開始繪製B圖 ctx.arc(_x+offset,_y,radius,0,2*Math.PI,false);//繪製一個向右偏移的圓形 ctx.fillStyle='#EA4881';//設定為桃紅 ctx.fill();//填色 //繪製C圖 ctx.beginPath();//開始繪製C圖 ctx.arc(_x,_y+offset,radius,0,2*Math.PI,false);//繪製一個向下偏移的圓形 ctx.fillStyle='#6BD1EA';//設定為天空藍 ctx.fill();//填色 ctx.restore();//回復起始設定 ctx.beginPath();//開始繪製外框線 ctx.arc(_x,_y,radius,0,2*Math.PI,false);//繪製一個正圓為外框線,包覆遮罩邊框 ctx.lineWidth=5;//設定外框限寬度 ctx.strokeStyle='#66B79B';//設定為綠色 ctx.stroke();//繪製線段 });
主要使用function :
- clip() - 用來剪裁畫布的可見範圍。
Result
JSFiddle
https://jsfiddle.net/MickeyChen/f9qrbvsd/
沒有留言:
張貼留言