2012-12-07 45 views
0

...并且它的所有内部维度和相互作用保持相对于彼此?是否可以缩放一个画布元素

例如,使用Flash,您可以创建电影并发布.swf文件。然后,当您将该.swf文件放入页面中时,您可以将该电影放大或缩小,并且仍然保持其所有功能,因为它并不聪明。

与Canvas类似吗?我被其他人引导到WHATWG的scale属性描述中,但它没有帮助。 scale属性是做我想要的,有没有人有一个例子?

谢谢!

+0

你需要的是SVG,而不是Canvas。 –

+0

如果你的意思是拉伸,那么是的,这将如设置一些CSS来根据容器大小拉伸收缩一样简单。 – Shmiddty

+0

@Shmiddty ......像我希望的那样调整大小,但现在我所有的拖放和拖放交互(我正在使用KineticJS),并且不像预期的那样真正工作。很近。 –

回答

0

我曾经通过使用比例坐标(即0.3,映射到0-1,固定比率和相对于此的其他轴)的函数包装Canvas API来解决此问题。

根据你想要做多少工作,你可能要么自己实现这样的事情,要么使用一些pre-existing solution

+0

我实际上已经在使用KineticJS。它绘制画布,设置可拖动的元素等。当我使用canvas.style.width = whatever缩小它的大小时,可拖动的对象不再正常工作 - 它们的手柄仍然是他们将画布所在的位置被缩放。 –

+0

因此,从KineticJS切换到oCanvas,现在当我使用CSS设置画布的大小时,我的交互仍然有效。另外,我认为我现在更喜欢oCanvas。谢谢您的帮助。 –

相关问题