는 HTML5에 나타나는 새로운 태그입니다. 모든 DOM 개체와 마찬가지로 자체 속성, 메서드 및 이벤트가 있으며 그 중에는 js에서 호출할 수 있는 메서드가 있습니다. draw.draw. 이 기사에서는 캔버스 태그와 Javascript를 사용하여 4가지 색상 그라데이션 재생 버튼 효과를 그려 렌더링합니다. 구현 코드: 코드 복사코드는 다음과 같습니다. 그리기 버튼 머리> 브라우저가 Canvas를 지원하지 않습니다. 브라우저를 업그레이드하세요! 캔버스> <스크립트 유형 = "텍스트/자바스크립트" > var canvas = document.getElementById('myCanvas');/*정의된 캔버스 가져오기*/ var ctx = canvas.getContext('2d');/*페인팅을 위해 2차원 환경 사용*/ drawPlayButton(ctx,200,200); drawPlayButton(ctx,400,200); drawPlayButton(ctx,300,200); 함수 drawPlayButton(_context,x,y){ var nRadius=30;//반경 _context.save(); _context.translate(x,y); //구성선 변경 var yellowGrad=_context.createLinearGradient(30,0,0,30); yellowGrad.addColorStop(0, '#fccb02') yellowGrad.addColorStop(0.5, '#fbf14d') yellowGrad.addColorStop(1, '#ffcb02'); var blueGrad=_context.createLinearGradient(30,0,0,30); blueGrad.addColorStop(0, '#2a459c') blueGrad.addColorStop(0.5, '#0e7adc') blueGrad.addColorStop(1, '#2a459e'); var redGrad=_context.createLinearGradient(30,0,0,30);//회전을 통한 회전 redGrad.addColorStop(0, '#d0372f') redGrad.addColorStop(0.5, '#e0675e') redGrad.addColorStop(1, '#ce392d'); var greenGrad=_context.createLinearGradient(30,0,0,30);//회전을 통한 회전 greenGrad.addColorStop(0, '#059700') greenGrad.addColorStop(0.5, '#02e003') greenGrad.addColorStop(1, '#019a02'); //두 호 사이의 각도 내용을 그립니다 drawCake(_context,0,yellowGrad,nRadius); drawCake(_context,Math.PI/2,blueGrad,nRadius); drawCake(_context,Math.PI,redGrad,nRadius); drawCake(_context,3*Math.PI/2,greenGrad,nRadius); //내부 원 색상 var lingrad =_context.createLinearGradient(-30,-30,30,30); lingrad.addColorStop(0, '#4672df') lingrad.addColorStop(0.2, '#6188e5') lingrad.addColorStop(0.5, '#98b1ef'); lingrad.addColorStop(0.8, '#b1c3f2'); lingrad.addColorStop(1, '#eaedfc'); _context.save(); _context.beginPath();//내부 원 _context.fillStyle=lingrad; _context.arc(0,0,nRadius-10,0,Math.PI*2,true) _context.fill(); _context.closePath(); _context.restore(); //삼각형 그리기 var Trianglerad=_context.createLinearGradient(-6,-10,-6,10); Trianglerad.addColorStop(0, '#99d4ea') Trianglerad.addColorStop(0.2, '#5e8fdd') Trianglerad.addColorStop(0.5, '#0f17a1'); Trianglerad.addColorStop(0.8, '#4c65cc'); Trianglerad.addColorStop(1, '#7299e5'); _context.beginPath(); _context.fillStyle=trianglerad; _context.moveTo(12,0); _context.lineTo(-6,10); _context.lineTo(-6,-10); _context.fill(); _context.restore(); } //부채모양 그리기 함수 drawCake(_context,_nRotateAngle,_fillColor,_nRadius){ _context.save(); _context.beginPath() _context.fillStyle=_fillColor; _context.rotate(_nRotateAngle); _context.moveTo(_nRadius-10,0); _context.lineTo(_nRadius,0);//오른쪽으로 선 그리기 _context.arc(0,0,_nRadius,0,Math.PI/2,false) _context.lineTo(0,_nRadius-10);// 위쪽으로 그리기 _context.arc(0,0,_nRadius-10,Math.PI/2,0,true); //시계 반대 방향으로 내부 호 그리기 _context.fill(); _context.closePath(); _context.restore(); } 본문>