摘要:在本教程中,您将学习如何有效地使用 JavaScript scale()
Canvas API 来缩放绘图对象。
JavaScript scale() Canvas API 简介
scale()
是 2D 绘图上下文的一种方法。scale()
方法向画布单位添加水平和/或垂直缩放变换。
画布上的默认单位是一个像素。缩放变换改变了这个默认值。
例如,0.5 的缩放因子将改变单位大小为 0.5 像素。类似地,2 的缩放因子将增加单位大小到两个像素。
当单位大小被缩放时,形状也会以新的单位被绘制。
以下是 scale()
方法的说明
ctx.scale(x, y)
Code language: CSS (css)
scale()
方法接受两个参数
x
是水平方向的缩放因子。y
是垂直方向的缩放因子。
JavaScript scale() 示例
以下示例 首先绘制一个从 (10,10)
开始,宽度为 100 像素,高度为 50 像素的矩形。然后它在画布上水平和垂直地添加 2 的缩放因子。最后,它绘制具有相同宽度和高度的矩形。但是,由于缩放变换,第二个矩形比第一个矩形大四倍。
HTML
<canvas id="canvas" height="300" width="500">
</canvas>
Code language: HTML, XML (xml)
JavaScript
const canvas = document.querySelector('#canvas');
if (canvas.getContext) {
// rectangle width and height
const width = 100,
height = 50;
// starting point
const x = 10,
y = 10;
const ctx = canvas.getContext('2d');
ctx.strokeStyle = 'red';
ctx.strokeRect(x, y, width, height);
ctx.scale(2, 2);
ctx.strokeStyle = 'rgba(0,0,255,.2)';
ctx.strokeRect(x / 2, y / 2, width, height);
}
Code language: JavaScript (javascript)
输出

摘要
- 使用 JavaScript
scale()
向画布单位添加水平和/或垂直缩放变换
本教程对您有帮助吗?