Снег Север писал(а):Для сложных случаев попробуйте для конвертации Inkscape
Читал уже про
Inkscape, но это внешняя конвертация, а для решения задачи нужна либо внутренняя отрисовка в ячейки либо внутренняя конвертация и resize на лету из самой программы. Как временный затык пока не найдено решение сделал скриптовую конвертацию через photoshop и light resizer, но как решение данный метод не подходит.
vitaly_l писал(а):их всегда две: Х и У - соответственно строку нужно отпарсить в с условием что каждая первая в паре это Х, а вторая У. затем передать эти координаты канвасу.
Про координаты я знаю что их две, я спросил про влияние области отображения svg файла viewbox на canvas в программе..нужно ли подставлять туда именно эти координаты из viewbox и тут их 4 (координат), а в канвасе всего 2 x и y, первые я так понял не координаты, а отступы от угла..только какого (вроде не левого верхнего)?
vitaly_l писал(а):единственная сложность когда path с пустыми областями внутри.
Что вы имеете ввиду под пустыми областями..чуть подробнее можно?
zub писал(а):единственно верное решение. разделить на нужную величину все цифры
единственно верное - умножить все координаты на соответствующую матрицу))
Почему умножать, а не делить?
Посмотрел, тоже сыпятся ошибки на отсутствие "svgvectorialreader_rsvg.pas" который я уже нашел в интернете, затем на отсутствие идентификатора "Settings" в строке "SVGVecReader_RSVG_Path := Settings.HelperToolPath;".
zub писал(а):еще есть aggpas он тоже вроде умеет svg, но не проверял
Проверял его, он устарел и умер как мамонты, актуальных ссылок на него нет и нет сомнения что он еще хуже fpvectorial.
Вообще этот path в svg это конечно жесткая тема, вот как здесь можно разобраться:
Код: Выделить всё
<path d="M-177.5,335.9h102.1c0,11.5,0,23.1,0,34.5c-22.6,0.1-45.1-0.1-67.7,0.1c0.1,11-0.2,22,0.1,33c13.4,0.1,26.8,0,40.1,0
c9.2,8.9,18.4,18.1,27.4,27.1c0.2,15.9,0.1,31.8,0,47.8c-9,9.2-18.2,18.1-27.2,27.3h-47.7c-9-9.1-18.2-18.2-27.2-27.3
c0-8-0.1-16.1,0-24.1c11.5,0,22.9,0,34.4,0c0,5.6,0,11.2,0,16.8c11.1,0.1,22.2,0.1,33.3,0c0-11,0.1-22,0-33
c-13.4-0.1-26.8,0-40.2,0c-9.3-8.9-18.1-18.2-27.3-27.2C-177.6,386-177.5,361-177.5,335.9z"/>
Тема с
SVG будет становится все актуальнее, щас уже много сайтов переходит на этот формат и это только начало (хотя формату уже много лет, но стал популяризироваться он только сейчас почему-то). Думаю будет для всех полезным если у кого-то получится сделать нормальный рисовальщик, я собираюсь курить спецификацию на предмет того чтобы разобраться со всеми этими обозначениями
path, пока навскидку я вообще не понимаю как он составлен. Где тут X, а где Y.. по идеи координаты должны идти парно, а тут постоянно буквы идут.
P.S: нашел ссылки по теме:1. Спецификация Path в SVG:
https://www.w3.org/TR/SVG/paths.html2. Частичный перевод на русский:
https://developer.mozilla.org/ru/docs/Web/SVG/Tutorial/Paths