В настоящее время я работаю над приложением, для которого мне нужно преобразовать формы VML в формы SVG. Хотя я могу справиться со всеми остальными его аспектами, я сталкиваюсь с проблемой при правильном преобразовании формы из пути VML в путь SVG. Я использую комбинацию XSLT и Javascript для моих кодов.Как преобразовать путь VML к пути SVG?
У меня достаточно контроля над преобразованием угловых форм (то есть формы, содержащие только прямые линии), но я сталкиваюсь с трудностями в преобразовании пути с кривыми.
Например, для простой формы это:
Путь VML является: m10800,qx21600,10800,10800,21600l,21600,,xe
Теперь, если я заменю m
с M
, l
с L
и qx
с Q
и сделать необходимое масштабирование координат. Я получаю следующую форму SVG:
SVG путь лечит первый набор координат в Q/qx
в качестве контрольной точки и, следовательно, фактический путь не проходит через точку, тогда как VML предназначены эти координаты в качестве точки, по которой путь должен пройти. Я не понимаю, как я могу добиться этого с помощью SVG (т. Е. Убедиться, что путь проходит через определенную точку или точки).
В настоящее время я использую this и this для исследования SVG и VML соответственно. Я также попытался использовать Vector Converter 1.2, но это тоже не работает.
Может ли кто-нибудь предложить мне способ, библиотеку, любые учебные ссылки или учебные пособия, где я могу найти решение моей проблемы?
Спасибо заранее!
не значение CurrentY быть равна нулю для Qx? –
Да, вы правы. Я исправил это. Однако код в демо был прав. –
Любопытно узнать больше о том, откуда пришел 0.5522847498, я нашел следующее: http://hansmuller-flex.blogspot.com/2011/04/approximating-circular-arc-with-cubic.html и http: // itc. ktu.lt/itc354/Riskus354.pdf. «Это k = 0.5522847498, и его обычно называют« магическим числом ». Я этого не делаю». – technomalogical