7
votes

Raphael ajoute un attribut 'dy'

Je crée une image avec Raphaël et le SVG IT genres généraux pour papier.text () Ajoute un Où "Number" est Un numéro basé sur l'ATTOT (taille de police: n)

peut-il me dire comment ce numéro est calculé car je dois savoir car ce que j'envoie les données sérialisées au serveur avec tojson () (un plugin 3ème partie pour Raphaël appelé Elbertf / Raphael.json) et recréer un SVG sur le serveur Le texte est toujours sorti par ce dy = "numéro"

< code> dy semble également être lié à l'attribut y du texte comme si je ronds le y la valeur dy valeur se fait arrondi au 0,5

donc par exemple: xxx

marques -> xxx

Suppression du math.round () à partir de y_posititionoftext fait xxx

notez comment le y = "48" donne dy = "5.5" Mais y = "48.188976378525" donne dy = "5.501476378524998"

Cela me tue! Pourquoi Raphaël fait-il cela et comment!?


2 commentaires

Ahungerartiste: Nous avons eu un travail de travail, mais en bref non :-(. Mais nous, où vous utilisez Rachel et SVG de manière étrange et Rachel, c'est très intelligent, donc je ne peux aider personne avec laquelle ou pourquoi cela fonctionne.


@Ahungerartiste peut-être que ma réponse aide?


3 Réponses :


4
votes

Chaque fois que j'ai besoin de savoir comment fonctionne une bibliothèque, j'ai lu le code source. Maintenant, étant donné que je n'ai pas écrit Raphaël, je ne peux pas vous dire exactement pourquoi le TSPAN est créé comme ceci, mais je peux certainement vous dire comment: XXX

Vraisemblablement, cela corrige un problème avec ancrage. Il déplace le texte de sorte que le point médian du TSPAN soit aligné avec l'attribut Y.

Il est calculé en cochant la différence entre l'attribut Y et la position médiane du texte (boîte de consigne plus la moitié de la moitié. la hauteur).


0 commentaires

3
votes

J'ai eu un problème similaire, lors de l'utilisation de Raphael + Backbone. J'ai trouvé ce problème sur git hub illuminant. La racine racine dans mon cas est que je fonctionne sur une vue qui n'est pas attachée à dom au moment où j'utilise papier.text. Comme expliqué dans la question, cela provoque que Raphaël croit que la boîte de sélection n'a aucune hauteur. Combinée à la réponse de Matt Esch, cela se traduit par ajustement de DY à être égal à y. En tant que solution de contournement, vous pouvez essayer de fixer l'élément au DOM pour un moment de dessin.


1 commentaires

Merci merci merci! J'essayais de comprendre ce problème pendant des semaines



3
votes

J'ai un problème similaire, et je le résolvez en changeant xxx

avec ceci: xxx

changer dy: dif à dy: [0]

thx à Matt Esch pour SUBGESTION


0 commentaires