Canvas在不改变Paper.js中路径宽度的情况下调整大小

时间:2014-07-14 08:42:21

标签: canvas path resize width paperjs

我正在尝试生效,当画布调整大小但是在其上绘制的路径仍然具有相同的宽度。但是它会根据画布宽度改变宽度。我尝试重新绘制路径,但是纸质对象似乎记住了旧的宽度和高度,并且尽管我的新设置应用于路径,但仍然可以缩放路径。 也许解决方案是缩放路径宽度,但我希望有一个更温和的解决方案。


ANSWER 似乎最好的解决方案是缩放路径和形状的宽度和半径。调整大小后绘制新路径时,必须将旧的宽度和高度传递给新的点坐标。 也许这不是一个温和的解决方案,但有效,我看不到另一个。

2 个答案:

答案 0 :(得分:3)

您可以告诉画布自动调整大小,请参见此处:

http://paperjs.org/tutorials/getting-started/working-with-paper-js/#canvas-configuration

然后它改变了它的大小,但它不应该缩放内容。您可以在paper.js网站上的所有示例中看到此操作,例如http://paperjs.org/examples/rounded-rectangles/

那些按比例缩放的是以编程方式告知的。

如果你只是用CSS方式缩放画布对象,那么你最终会在鼠标事件中放大像素和错误的偏移。

如果您不想使用resize属性,但仍需要调整画布大小,则可以通过调用paper.view.setViewSize(width, height)来执行此操作,它将为您调整大小,尊重HiDPI设置和所有。< / p>

答案 1 :(得分:1)

我可能会晚一点,但我最近遇到了同样的问题,我通过在resize元素上添加canvas属性来解决它。

<强> HTML

<canvas id="myCanvas" resize="true"></canvas>

不要忘记显式resize设置为等于true(即resize="true")。

只需要显示resize属性,或者使用任何其他值,就不会这样做。