2015-03-11 10 views
3

Je veux utiliser le plugin svg-edit dans mon projet. Maintenant, je veux créer une extension à des textes de courbe comme:Comment créer une extension à des textes de courbe dans svg-edit?

svgEditor.addExtension("Curve text!", function() {'use strict'; 
     return { 
      name: "Curve text", 
      svgicons: svgEditor.curConfig.extPath + "text_curve-icon.xml", 

      buttons: [{ 
       id: "text_curve", 
       type: "mode", 
       title: "Curve the text", 
       events: { 
        'click': function() { 
         svgCanvas.setMode("text_curve"); 

         var textElement = $(svgCanvas.getSelectedElems()[0]); 

         var textPath = '<text>' + 
             ' <textPath xlink:href="#relativeCurve">' + 
              $(svgCanvas.getSelectedElems()[0]).text() + 
             ' </textPath>' + 
             '</text>'; 
         $('#svgcontent').prepend('<defs><path d="m0,350c100,-100 200,-200 300,-200c100,0 200,200 300,200c100,0 200,-200 300,-200" id="relativeCurve"/></defs>'); 
         $(textElement).replaceWith(textPath); 
        } 
       } 
      }], 
      mouseDown: function() { 
       if(svgCanvas.getMode() == "text_curve") { 
        return {started: true}; 
       } 
      }, 

      mouseUp: function(opts) { 
       if(svgCanvas.getMode() == "text_curve") { 
       } 
      } 
     }; 
}); 

Mais cela ne fonctionne pas, comment puis-je créer cela?

Répondre

-1

Je pensais à la même chose, mais je pense que l'approche que je prendrais est une liste déroulante de chemins à sélectionner par ID.

ensuite référencer le chemin par ID

Je pourrais même faire un de ces jours.

+0

Bien que cela suggère une approche alternative, elle ne répond pas vraiment à la question et serait mieux adaptée comme commentaire. Voir [Comment écrire une bonne réponse?] (Https://stackoverflow.com/help/how-to-answer). –

+0

J'ai résolu ce problème en transmettant le texte sous forme de chaîne à backend, puis restituez et courbez le texte et renvoyez-le en tant qu'image, puis si l'utilisateur veut le courber à nouveau, double-cliquez sur l'image rendue. –

+0

Assez juste - il ne répond pas à la question. Comment puis-je le déplacer pour être un commentaire? ... On dirait que je ne peux pas encore, parce que je n'ai pas assez de réputation. – theGleep