게임/HTML 연습
CANVAS 연습10(기울임)
런던전통손만두
2018. 6. 26. 00:08
반응형
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CANVAS 연습10</title>
</head>
<body>
<canvas id="myCanvas" width="800" height="600" style="border: 1px dotted blue"></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.fillStyle = "yellow";
ctx.strokeStyle = "blue";
ctx.lineWidth = 3;
ctx.strokeRect(0, 0, 100, 100);
ctx.fillRect(0, 0, 100, 100);
ctx.transform(1, 0.2, 0.2, 1, 100, 100); //같은 비율의 사각형을 0.2만큼 수직, 수평 기울이기 한다.
//context.transform(s1, sk1, sk2, s2, m1, m2);
//s1: 수평으로 확대, sk1:수평으로 기울임, sk2: 수직으로 기울임, s2: 수직으로 확대
//m1: 수평으로 이동, m2: 수직으로 이동;
ctx.fillStyle = "green";
ctx.fillRect(0, 0, 100, 100);
ctx.setTransform(1, 0, 0, 1, 100, 100); //변형한 값을 초기화하고 다시 변경한다.(transform의 기울임/이동 취소)
ctx.fillStyle = "red";
ctx.fillRect(0, 0, 100, 100);
</script>
</body>
</html>
결과:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>CANVAS 연습10</title>
</head>
<body>
<canvas id="myCanvas" width="800" height="600" style="border: 1px dotted blue"></canvas>
<script>
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
//setTransform 이랑 transform의 자리를 바꾸었을 때
ctx.fillStyle = "yellow";
ctx.strokeStyle = "blue";
ctx.lineWidth = 3;
ctx.strokeRect(0, 0, 100, 100);
ctx.fillRect(0, 0, 100, 100);
ctx.setTransform(1, 0.2, 0.2, 1, 100, 100); //같은 비율의 사각형을 0.2만큼 수직, 수평 기울이기 한다.
ctx.fillStyle = "green";
ctx.fillRect(0, 0, 100, 100);
ctx.transform(1, 0, 0, 1, 100, 100); //변형한 값을 이어서 변경한다.
ctx.fillStyle = "red";
ctx.fillRect(0, 0, 100, 100);
</script>
</body>
</html>
결과:
반응형