2010-06-01 29 views
0

J'ai besoin d'afficher un texte en 3D en utilisant vml/canvas/svg et faire une transformation à la forme du texte comme l'effet de Ctrl + T dans photoshop, même aligner une ligne de texte à une courbe. Par exemple, transformez un texte normal en une forme trapézoïdale/quadrilatérale pivotée.Est-il possible de convertir le texte en forme dans VML/canvas/SVG?

Alors, existe-t-il un moyen de convertir le texte en forme en premier?

La seule chose à proximité est getImageData() dans Firefox qui n'est pas idéal mais OK. De meilleures méthodes?

utilisant hacks spécifiques au navigateur ou voodoo est OK, mais pas de Flash :) s'il vous plaît

+1

On ne sait pas exactement ce que vous demandez ici. En SVG, au moins, vous n'avez pas besoin de convertir le texte en forme pour le transformer. L'élément 'textPath' met du texte sur un chemin. Y at-il une transformation spécifique que vous devez faire à une partie d'un formulaire de lettre? – Ken

+0

@Ken Votre conseil est très utile, je vérifie. À propos de la transformation spécifique, par exemple, transforme un texte en une forme trapézoïdale pivotée. Est-ce faisable? – est

+1

Malheureusement, il semble que SVG 1.1 ne supporte que nativement les transformations affines mais pas les projections en perspective. Cela ne vous aidera pas aujourd'hui, mais ils semblent être sur la liste de souhaits pour SVG 2.0: http://www.w3.org/TR/SVG2Reqs/#req-graphics http://www.svgopen.org/2008/ papers/86-Achieving_3D_Effects_with_SVG/# section_4_4_creating_perspective_effects_using_future_features – Ken

Répondre

0

Après beaucoup de messages stackoverflow, je pense que la meilleure solution est d'utiliser inkscape.

Donc, Javascript ou HTML5 ou toile ou SVG ne peuvent pas le faire.

1

Vous pouvez utiliser les transformations obliquité en SVG pour faire simple, isometric projections. Idem pour le canevas HTML5. Si vous voulez d'autres types de projections de perspectives, il existe des façons de faire cela, par exemple plusieurs transformations combinées avec un écrêtage, ou avec un filtre SVG (voir quelques exemples de Hans Schmucker here).