stroke和fill顺序对绘图的影响

本文探讨了使用HTML5 Canvas API进行图形绘制时,fill()和stroke()方法调用顺序对最终呈现效果的影响。若先调用stroke()再调用fill(),可能会导致线宽显示不全的问题;而调整为先fill()后stroke()则能有效解决此问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 用canvas绘制线条和填充,fill()和stroke()调用顺序直接影响绘制的结构

 先调用stroke在调用fill,绘制的效果看上去lineWidth只绘制出来一半,还以为是个大问题。

 1 <!DOCTYPE HTML>
 2 <html>
 3 <body>
 4 <canvas id="myCanvas" width=400 height=300>your browser does not support the canvas tag </canvas>
 5 <script type="text/javascript">
 6 var canvas=document.getElementById('myCanvas');
 7 var ctx=canvas.getContext('2d');
 8 ctx.lineWidth=10;
 9 ctx.fillStyle='#FF0000';
10 ctx.strokeStyle='#000000';
11 ctx.rect(5,5,80,100);
12 ctx.stroke();
13 ctx.fill();
14 </script>
15 </body>
16 </html>

 

 

 先调用fill在调用stroke,直接就解决了上面绘制的lineWidth只绘制一半的问题!

 1 <!DOCTYPE HTML>
 2 <html>
 3 <body>
 4 <canvas id="myCanvas" width=400 height=300>your browser does not support the canvas tag </canvas>
 5 <script type="text/javascript">
 6 var canvas=document.getElementById('myCanvas');
 7 var ctx=canvas.getContext('2d');
 8 ctx.lineWidth=10;
 9 ctx.fillStyle='#FF0000';
10 ctx.strokeStyle='#000000';
11 ctx.rect(5,5,80,100);
12 ctx.fill();
13 ctx.stroke();
14 </script>
15 </body>
16 </html>

 

 

 

转载于:https://www.cnblogs.com/fangsmile/p/7068607.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值