这是 实验性技术
检查 浏览器兼容性表格 要小心谨慎在生产中使用这之前。

CanvasRenderingContext2D .resetTransform() method of the Canvas 2D API resets the current transform to the identity matrix.

句法

void ctx.resetTransform();
					

范例

Resetting the matrix

This example draws a rotated rectangle after modifying the matrix, and then resets the matrix using the resetTransform() 方法。

HTML

<canvas id="canvas"></canvas>
					

JavaScript

rotate() method rotates the transformation matrix by 45°. The fillRect() method draws a filled rectangle, adjusted according to that matrix.

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
// Draw a rotated rectangle
ctx.rotate(45 * Math.PI / 180);
ctx.fillRect(60, 0, 100, 30);
// Reset transformation matrix to the identity matrix
ctx.resetTransform();
					

结果

Continuing with a regular matrix

Whenever you're done drawing transformed shapes, you should call resetTransform() before rendering anything else. In this example, the first two shapes are drawn with a skew transformation, and the last two are drawn with the identity (regular) transformation.

HTML

<canvas id="canvas"></canvas>
					

JavaScript

const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
// Skewed rectangles
ctx.transform(1, 0, 1.7, 1, 0, 0);
ctx.fillStyle = 'gray';
ctx.fillRect(40, 40, 50, 20);
ctx.fillRect(40, 90, 50, 20);
// Non-skewed rectangles
ctx.resetTransform();
ctx.fillStyle = 'red';
ctx.fillRect(40, 40, 50, 20);
ctx.fillRect(40, 90, 50, 20);
					

结果

skewed rectangles are gray ,和 non-skewed rectangles are red .

Polyfill

还可以使用 setTransform() method to reset the current transform to the identity matrix, like so:

ctx.setTransform(1, 0, 0, 1, 0, 0);
					

规范

规范 状态 注释
HTML 实时标准
The definition of 'CanvasRenderingContext2D.resetTransform' in that specification.
实时标准

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
resetTransform Chrome 31 Edge 79 Firefox 36 IE No Opera Yes Safari Yes WebView Android Yes Chrome Android Yes Firefox Android 36 Opera Android No Safari iOS Yes Samsung Internet Android Yes

图例

完整支持

完整支持

不支持

不支持

实验。期望将来行为有所改变。

实验。期望将来行为有所改变。

另请参阅

元数据

  • 最后修改: