繁体   English   中英

如何缩放 Canvas 绘图

[英]How to zoom a Canvas drawing

我正在尝试放大或缩小我的画布绘图,但如果我只缩放上下文,则不会发生任何事情。

缩放后是否需要重新绘制? 有没有什么方法可以直接缩放上下文而不在每次尝试放大或缩小时绘制它?

PS :我想用一个由脚本控制的 HTML5 <input type="range">放大和缩小,这已经在工作了。

就像迈克说的,最好的解决办法是重新绘制它。 用 css 放大是一个解决方案,但质量上有很大的损失。

我正在复制我今天已经回答的另一个问题的答案..

画布就像一个图像。 它有自己的物理尺寸,但仍然可以使用 CSS 进行缩放。 使用widthheight属性设置物理尺寸,然后使用 CSS 使用%对其 进行 缩放以 使其响应式 缩放。

例子...

 var c = document.getElementById("myCanvas"); var ctx = c.getContext("2d"); ctx.rect(20, 20, 150, 100); ctx.stroke();
 <canvas id="myCanvas" width="300" height="150" style="width:100%;"></canvas>

这是一个过于简化的例子: https : //jsfiddle.net/43ejq0op/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM