2010-06-01 58 views
0

我需要使用vml/canvas/svg在3D中显示文本,并对文本的形状进行一些转换,例如photoshop中Ctrl + T的效果,甚至可以将一行文本与曲线对齐。例如,将正常文本转换为旋转的梯形/四边形形状。是否可以将文本转换为VML/canvas/SVG中的形状?

那么,有没有办法将文本转换成第一个?

在firefox中唯一接近的是getImageData()这并不理想,但是可以。有更好的方法吗?

使用浏览器特定的黑客或巫术是好的,但没有闪光灯,请:)

+1

目前尚不清楚你在这里要求的是什么。在SVG中,至少,您不需要将文本转换为形状来转换它。 'textPath'元素将文本放在路径上。是否需要对一个字母表单的一部分进行特定的转换? – Ken 2010-06-01 18:31:01

+0

@Ken 您的提示非常有帮助,我正在查看。 关于特定的转换,例如,将文本转换为旋转的梯形形式。这可行吗? – est 2010-06-02 00:40:13

+1

不幸的是,它看起来像SVG 1.1本身只支持仿射变换,但不支持透视投影。它今天不会帮助你,但它们似乎是SV​​G 2.0的愿望清单:http://www.w3.org/TR/SVG2Reqs/#req-graphics http://www.svgopen.org/2008/论文/ 86-Achieving_3D_Effects_with_SVG /#section_4_4_creating_perspective_effects_using_future_features – Ken 2010-06-02 03:11:50

回答

0

在许多stackoverflow帖子后,我认为最好的解决方案是使用inkscape。

因此,Javascript或HTML5或画布或SVG无法做到这一点。

1

可以使用歪斜变换在SVG做简单isometric projections。 HTML5画布也一样。如果您需要其他类型的透视投影,也有办法做到这一点,例如多个转换与裁剪相结合,或使用SVG滤镜(请参阅Hans Schmucker here的一些示例)。

相关问题