【发布时间】:2018-08-11 16:15:34
【问题描述】:
我想在绘图中缩放一个轴。正如其他人指出的那样,天真地这样做也会在描边路径时缩放 lineWidth 。其他解决方案也指出,您可以执行以下操作以避免扭曲线宽:
ctx.save();
ctx.scale(1, 2);
ctx.beginPath();
// draw shape
ctx.restore();
ctx.stroke();
不幸的是,我还需要一个复杂的剪辑区域,而 restore() 会破坏剪辑区域。我试着简单地恢复规模:
ctx.save();
ctx.scale(1, 2);
ctx.beginPath();
// draw shape
ctx.scale(1, 1);
ctx.stroke();
但这不起作用,lineWidth 仍然失真。
这是一个物理系统的建模,所涉及的形状是弧线和直线。重要的是各种形状的交点要准确,因此在没有剪辑的情况下计算所有可能的交点要困难得多。同样,简单地不使用比例尺会产生椭圆曲线,这是我试图避免的,但这是最后的手段。
有什么想法吗?
【问题讨论】:
-
你能提供一个代码 sn-p 重现你的问题吗?
标签: html5-canvas