canvas 에 그라디언트 적용하기



html5)

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
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" 
          content="width=device-width, height=device-height, 
                     minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0">
    <title>Insert title here</title>
    <script type="text/javascript">
    window.onload = function(){
        var canvas = document.getElementById("canvas");
        if(canvas.getContext){
            var draw = canvas.getContext("2d");
            
            draw.beginPath();
            draw.rect(50,50,200,100);            
            //선형 그라디언트 생성
            //createLinearGradient(시작점x, 시작점y, 끝점x, 끝점y)
            var gradient = draw.createLinearGradient(50,100,250,100);
            gradient.addColorStop(0"red");
            gradient.addColorStop(0.5"green");
            gradient.addColorStop(1"blue");
            //그라디언트로 채우기
            draw.fillStyle = gradient;
            draw.fill();
            
            
            draw.beginPath();
            draw.rect(50,200,200,100);            
            //원형 그라디언트 생성
            //createRadialGradient(시작원 중심점x, 시작원 중심점y, 시작원 반지름, 끝원 중심점x, 끝원 중심점 y, 끝원 반지름)
            var gradient = draw.createRadialGradient(150,250,0,150,250,100);
            gradient.addColorStop(0"red");
            gradient.addColorStop(0.5"green");
            gradient.addColorStop(1"blue");
            //그라디언트로 채우기
            draw.fillStyle = gradient;
            draw.fill();
        }
    }
    </script>
</head>
 
<body>
    <canvas id="canvas" width="300px" height="400px"></canvas>
</body>
</html>
cs



결과

+ Recent posts