2015-03-11 9 views
3

Я хочу использовать плагин svg-edit в моем проекте. Теперь я хочу создать расширение для кривых текстов, таких как:Как создать расширение для кривых текстов в 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") { 
       } 
      } 
     }; 
}); 

Но это не сработает, как я могу это создать?

ответ

-1

Я думал об одном и том же, но я думаю, что подход, который я возьму, - это раскрывающийся список путей для выбора по id.

Затем ссылки на пути по ID

Я мог бы даже сделать это один из этих дней.

+0

Хотя это указывает на альтернативный подход, на самом деле он не отвечает на вопрос и лучше подходит для комментариев. См. [Как написать хороший ответ?] (Https://stackoverflow.com/help/how-to-answer). –

+0

Я решил эту проблему, передав текст в виде строки для бэкэнд, а затем визуализирую и нарисую текст и верну его как изображение, а затем, если пользователь хочет снова нарисовать его, дважды щелкните по визуализированному изображению, а затем повторите этот процесс. –

+0

Достаточно честно - он не отвечает на вопрос. Как перенести его в комментарий? ... Похоже, я еще не могу, потому что у меня недостаточно репутации. – theGleep