绘制矩形圆角:
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);
|