术语“视口”可能有点令人困惑,因为它可以根据上下文指代不同的事物。当涉及到容器内的元素时,画布的视口本质上是画布本身的区域,而不是容器。
canvas 元素的大小由其 width 和 height 属性决定:
<canvas id="canvas" width="800" height="600"></canvas>
canvas 元素的大小为 800 像素 x 600 像素。这个尺寸定义了画布的绘图区域,也就是它的视口。
容器:
<div id="container" style="width: 800px; height: 600px;">
<canvas id="canvas" width="800" height="600"></canvas>
</div>
容器与画布具有相同的尺寸。但是, 的大小不会影响画布绘图区域的大小。可以是任何大小,并且画布仍然具有由其宽度和高度属性定义的自己的独立大小。
术语 viewportTransform 通常在 Fabric.js 等库的上下文中使用,它为画布操作提供了更高级别的抽象。在 Fabric.js 中,viewportTransform 指的是应用于画布上下文以处理平移和缩放等操作的转换矩阵。此转换会影响画布内容的渲染方式,但不会更改画布元素本身的实际大小。
在summary中,canvas元素的视口是指由其宽度和高度属性定义的其自身尺寸。 viewportTransform 与画布内容的转换方式相关(例如平移和缩放),但不影响画布视口本身的实际尺寸。