--- title: CanvasRenderingContext2D.getTransform() slug: Web/API/CanvasRenderingContext2D/getTransform translation_of: Web/API/CanvasRenderingContext2D/getTransform ---
CanvasRenderingContext2D.getTransform() 方法获取当前被应用到上下文的转换矩阵
let storedTransform = ctx.getTransform();
无.
一个 {{domxref("DOMMatrix")}} 对象
转换矩阵被这样描述:
注意: 返回的对象不是实时的,所以更新它不会影响当前的转换矩阵,同时更新当前的转换矩阵不会影响已经返回的 DOMMatrix.
在以下例子,我们有两个 {{htmlelement("canvas")}} 元素。我们使用 {{domxref("CanvasRenderingContext2D.setTransform()")}} 设置一个转换到第一个画布,并在上面画一个矩形,然后通过 getTransform() 获取矩阵。
然后我们将获取到的矩阵作为 DOMMatrix 参数传给 setTransform() 设置到第二个画布,并在上面画一个圆。
<canvas width="240"></canvas> <canvas width="240"></canvas>
canvas {
border: 1px solid black;
}
const canvases = document.querySelectorAll('canvas');
const ctx1 = canvases[0].getContext('2d');
const ctx2 = canvases[1].getContext('2d');
ctx1.setTransform(1, .2, .8, 1, 0, 0);
ctx1.fillRect(25, 25, 50, 50);
let storedTransform = ctx1.getTransform();
console.log(storedTransform);
ctx2.setTransform(storedTransform);
ctx2.beginPath();
ctx2.arc(50, 50, 50, 0, 2 * Math.PI);
ctx2.fill();
{{ EmbedLiveSample('Examples', "100%", 180) }}
| Specification | Status | Comment |
|---|---|---|
| {{SpecName('HTML WHATWG', "scripting.html#dom-context-2d-gettransform", "CanvasRenderingContext2D.getTransform")}} | {{Spec2('HTML WHATWG')}} |
{{Compat("api.CanvasRenderingContext2D.getTransform")}}