0

我需要一些关于如何设置放大和缩小 HTML5 JavaScript 画布的建议。我已经设置了函数和 switch 语句,只需要关于如何实际启用缩放的建议。

我正在考虑让它使用浏览器缩放功能,因为我只需要它在 Chrome 上工作。这是推荐的吗?

谢谢

4

2 回答 2

3

Just use ctx.scale(x, y)

Here is a direct link on MDN, however I advise you to read the whole article.

于 2012-12-04T11:39:23.583 回答
0

您可以使用浏览器的缩放来缩放画布,但请注意画布是光栅图像,因此放大会引入锯齿(锯齿)。我还没有看到没有锯齿在放大的画布(即画布像素大于显示像素)上绘制的方法。事实证明,甚至很难计算出放大了多少:如何检测所有现代浏览器中的页面缩放级别?

但是,如果您通过重绘某些事件进行缩放,即使使用@rezoner 指出的那样ctx.scale(x, y),而不是允许浏览器缩放,那么您仍然可以在没有锯齿的情况下进行绘制。为了平滑缩放,我建议在使用快速缩放时使用快速缩放,并在它们停止缩放时每 1.3 倍左右执行一次完全重绘。这应该会给你类似谷歌地图的行为,你可以立即获得粗略的缩放(良好的响应性),但它会在你继续缩放时更新视图。scale

于 2012-12-04T11:57:10.740 回答