【问题标题】:Distort a "path" in Raphael扭曲拉斐尔的“路径”
【发布时间】:2012-05-01 11:34:47
【问题描述】:

我想知道是否可以在 RaphaelJS 中扭曲任何形状/路径,例如,如果我在 0,0 10,0 10,10 0,10 的边界框内有一个形状,并且假设该形状在这些点,我将点 10,10 拖到 11,15 ...此时我想扭曲形状以适应新的边界框。

想象一下形状很复杂,像这样http://jsfiddle.net/8hMkC/

如果它必须是图像,那不是太大的问题(如果可能的话?)

【问题讨论】:

    标签: javascript raphael vector-graphics


    【解决方案1】:

    您可以使用 javascript 来玩转视图框。
    http://jsfiddle.net/mihaifm/QqcwX/

    添加一个代表按钮并处理单击/拖动事件的新元素(圆形或其他东西)。然后你就可以改变viewbox坐标了。

    【讨论】:

    • 很好,但我更希望改变视角而不是缩放/平移。是否可以使用 viewbox 属性和方法?
    • 我不知道你所说的透视到底是什么意思。那只老虎还不够扭曲吗?
    • 啊,好吧..我在 IE 中查看了它...必须在 IE 中工作...(如果没有,我将只使用 css 3d 转换)我希望获得更多的 3D弯曲到它,一边变大,另一边变小。我找到的最接近的是elbertf.com/raphael/free_transform,但它只是倾斜而不是创建透视变换。
    • 啊,好吧,所以你说的是 3D...有点复杂
    【解决方案2】:

    我不知道。我假设您希望能够在边界框的范围内倾斜、扭曲和/或通常扭曲任意形状。这将涉及将任何非路径图元(圆、矩形等)转换为路径,然后计算其中所有节点点的变化。我并不是说这不能完成,但可以这么说,你不能免费获得它。如果这可以做到,我很想听听。

    【讨论】:

    • 老实说,它不一定是 RaphaelJS,它可以是任何东西。我只是希望能够扭曲/扭曲图像以使其具有透视性,但我希望它也能在较旧的 IE 浏览器中工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-16
    • 1970-01-01
    • 2011-10-20
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多