CANVAS绘制圆弧

绘制矩形圆角:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<!DOCTYPE html>
< html >
     < head >
         < title >rect
         </ title >
         < style >
           body{
             background: #eeeeee;
           }
 
 
             #canvas{
                 background: #ffffff;
 
             }
         </ style >
     </ head >
     < body >
 
         < canvas  id = "canvas"  width = "600"  height = "400" >
             Canvas not supported
         </ canvas >
 
 
 
         < script  src = "chapetal2.js" ></ script >
     </ body >
</ html >


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
var  canvas = document.getElementById( "canvas" ),
     context = canvas.getContext( "2d" );
 
function  roundedRect(cornerX, cornerY, width, height, cornerRadius){
     if (width >0) context.moveTo(cornerX + cornerRadius, cornerY);
     else          context.moveTo(cornerX - cornerRadius, cornerY);
 
     context.arcTo(cornerX + width, cornerY,
                   cornerX + width, cornerY + height,
                   cornerRadius);
 
     context.arcTo(cornerX + width, cornerY + height,
                  cornerX, cornerY + height,
                  cornerRadius);
 
     context.arcTo(cornerX, cornerY + height,
                   cornerX, cornerY,
                   cornerRadius);
 
     if (width > 0){
         context.arcTo(cornerX, cornerY,
                       cornerX + cornerRadius, cornerY,
                       cornerRadius);
     } else {
         context.arcTo(cornerX, cornerY,
                      cornerX - cornerRadius, cornerY,
                      cornerRadius);
     }
}
 
function  drawRoundedRect(strokeStyle, fillStyle, cornerX, cornerY,
                          width, height, cornerRadius){
     context.beginPath();
 
     roundedRect(cornerX, cornerY, width, height, cornerRadius);
 
     context.strokeStyle = strokeStyle;
     context.fillStyle = fillStyle;
 
     context.stroke();
     context.fill();
}
 
drawRoundedRect( 'blue' ,      'yellow' ,   50,     40,     100,    100, 10);
drawRoundedRect( 'purple' ,    'green' ,    275,    40,     -100,   100, 20);
drawRoundedRect( 'red' ,       'white' ,    300,    140,    100,    -100, 30);
drawRoundedRect( 'white' ,     'blue' ,     525,    140,    -100,   -100, 40);



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值