English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
transform()는 Canvas 2D API는 매트릭스를 여러 번 쌓아 현재 변환을 다루는 방법을 사용합니다. 매트릭스는 메서드의 매개변수로 설명됩니다. 당신은 캔버스를 축소, 회전, 이동하고 기울일 수 있습니다.
다음과 같이 사각형을 그립니다. transform()를 사용하여 새로운 변환 행렬을 추가하고, 다시 사각형을 그리고, 또 다시 변환 행렬을 추가한 다음 사각형을 그립니다. transform()를 호출할 때마다, 이는 이전 변환 행렬을 기반으로 합니다:
<!DOCTYPE html> <html> <head> <meta charset="utf-8> <title>HTML canvas transform() 메서드 사용-기본 강의(oldtoolbag.com)</<title> </<head> <body> <canvas id="myCanvas" width="300" height="150" style="border:1px solid #d3d3d3> 당신의 브라우저는 HTML을 지원하지 않습니다5 canvas 태그 </canvas> <script> var c=document.getElementById("myCanvas"); var ctx=c.getContext("2d"); ctx.fillStyle="green"; ctx.fillRect(0,0,250,100) ctx.transform(1,0.5,-0.5,1,30,10); ctx.fillStyle="red"; ctx.fillRect(0,0,250,100); ctx.transform(1,0.5,-0.5,1,30,10); ctx.fillStyle="blue"; ctx.fillRect(0,0,250,100); </script> </body> </html>테스트를 보세요‹/›
IEFirefoxOperaChromeSafari
Internet Explorer 9Firefox, Opera, Chrome 및 Safari는 transform()를 지원합니다 메서드
주의:Internet Explorer 8 이전 버전은 <canvas> 요소를 지원하지 않습니다。
그림면의 각 객체는 현재 변환 행렬을 가지고 있습니다。
transform() 메서드는 현재 변환 행렬을 대체합니다. 그림면에 설명된 행렬과 현재 변환 행렬을 곱합니다:
a | c | e |
b | d | f |
0 | 0 | 1 |
다시 말해, transform()는 현재 환경을 확대, 회전, 이동 및 기울이게 할 수 있습니다.
주의:이 변환은 transform() 메서드 호출 이후의 그리기에만 영향을 미칩니다.
주의:transform() 메서드의 행동은 rotate()、scale()、translate() 또는 transform()로 수행된 기타 변환에 대한 것입니다. 예를 들어: 그리기가 두 배로 확대되었으면 transform() 메서드는 그리기를 두 배로 확대하고, 그리기는 네 배로 확대됩니다.
힌트:보기: setTransform() 기타 변환에 대해 행동하지 않는 메서드.
JavaScript 문법: | context.transform(a,b,c,d,e,f); |
---|
파라미터 | 설명 |
---|---|
a | 수평으로 그리기 축소. |
b | 수평으로 그리기 기울기. |
c | 수직으로 그리기 기울기. |
d | 수직으로 그리기 축소. |
e | 수평으로 그리기 이동. |
f | 수직으로 그리기 이동. |