2
A
답변
0
정말 기본적으로이 일을하는 방법이 의심하지만, 대신이 같은 그라데이션의 배경으로 추가 할 모양을 만들 수 있습니다 http://edumax.org.ro/extra/new/gradienttut/script.js
var canvas, ctx;
function draw_triangle(x1, y1, x2, y2, x3, y3, grd){
ctx.beginPath();
ctx.moveTo(x1, y1);
ctx.lineTo(x2, y2);
ctx.lineTo(x3, y3);
ctx.lineTo(x1, y1);
ctx.fillStyle = grd;
ctx.fill();
ctx.lineWidth=0;
//ctx.stroke();
//ctx.strokeStyle="#fff";
ctx.closePath();
}
function color_triangle(x1, y1, x2, y2, tx1, ty1, tx2, ty2, tx3, ty3){
var grd = ctx.createLinearGradient(x1, y1, x2, y2);
grd.addColorStop(0, "#000000");
grd.addColorStop(1, "#ffffff");
draw_triangle(tx1, ty1, tx2, ty2, tx3, ty3, grd);
}
function draw_rect(x, y, w, h){
color_triangle(x+w/2, y, x+w/2,y+h/2, x, y, x+w/2, y+h/2, x+w, y);
color_triangle(x+w, y+h/2, x+w/2, y+h/2, x+w/2, y+h/2, x+w,y+ h, x+w, y);
color_triangle(x, y+h/2, x+w/2, y+h/2, x+w/2, y+h/2, x, y+h, x, y);
color_triangle(x+w/2, y+h, x+w/2, y+h/2, x+w/2, y+h/2, x+w, y+h, x, y+h);
}
function viewDidLoad(){
canvas = document.getElementById("canvas");
ctx = canvas.getContext("2d");
canvas.height = 800;
canvas.width = 800;
draw_rect(10, 10, 200, 200);
draw_rect(220, 10, 300, 100);
draw_rect(10, 220, 100, 300);
draw_rect(120, 220, 400, 300);
}
window.onload = viewDidLoad;
: 여기
http://edumax.org.ro/extra/new/gradienttut/ 및 코드입니다
관련 문제
- 1. HTML5 캔버스
- 2. 은 HTML5 캔버스 컨텍스트 그라데이션이 비쌉니까?
- 3. HTML5 캔버스 요소가있는 사각형 그라디언트
- 4. HTML5 캔버스 isPointInPath() HTML5 캔버스 나는이 생각하고와 히트 테스트의 목적
- 5. HTML5 - 캔버스 createLinearGradient 세로
- 6. 캔버스 html5 컨텍스트로 드로잉
- 7. HTML5 캔버스 란 무엇입니까?
- 8. Html5 캔버스 애니메이션
- 9. 자유롭게 HTML5 캔버스
- 10. 만들기 HTML5 캔버스 프로그래밍
- 11. 모션 JPEG (html5 캔버스)
- 12. HTML5 캔버스 애니메이션 문제
- 13. HTML5 비디오 캔버스
- 14. HTML5 캔버스 작업
- 15. HTML5 캔버스 drawImage return
- 16. html5 캔버스 도형 채우기
- 17. HTML5 캔버스 클릭 이벤트
- 18. html5 캔버스 요소가 사라집니다.
- 19. HTML5 캔버스 파노라마 효과
- 20. html5 캔버스 이미지 합성
- 21. HTML5 캔버스 게임 타이머
- 22. HTML5 캔버스 게임 버그
- 23. 의 HTML5 캔버스 줌
- 24. HTML5 캔버스 색상
- 25. Html5 캔버스 제한
- 26. Html5 캔버스 그리기 문제
- 27. html5 캔버스 번역
- 28. 는 HTML5 캔버스
- 29. HTML5 캔버스 마우스
- 30. HTML5 캔버스 레이어 문제
캔버스에 대해 알고있는 유일한 그라디언트는 선형 및 방사형이며 어느 것도 (내가 아는 한) 단일 그라디언트로 수행 할 수 없습니다. 그러나 선형 그라디언트로 채워진 4 개의 삼각형을 수행 할 수 있습니다. – MrOBrian