Как создать андроид: pathData?

поэтому мне нужно будет использовать данные о пути в моем приложении, есть ли способ конвертировать изображения, которые у вас уже есть, для переноса данных?

или единственный способ - фактически вычислить все пиксели самостоятельно с помощью Photoshop и т.д.?

Ответ 1

Предполагая, что вы ссылаетесь на элемент pathData VectorDrawable, если у вас есть изображения в формате .svg, вы можете легко их преобразовать.

Либо сделайте это прямо в Android Studio, щелкнув правой кнопкой мыши по выделенной папке, затем "Создать" > "Вектор" и импортируйте локальный файл SVG:

введите описание изображения здесь

Или используйте другой конвертер, например svg2android (это может случиться с файлами, которые Android Studio не может преобразовать).

Если вы не хотите VectorDrawable и хотите получить pathData, вы можете открыть SVG в текстовом редакторе. Если изображения, которые у вас есть, не в векторном формате, все будет сложнее.

Ответ 2

PathData в векторных изображений для Android является векторная графическая программа сценария. Это не совсем чистый и понятный человеку код в качестве высокого приоритета. Краткое представление о том, как строится pathData, приведено ниже:

В сценарии:

M или m (X, Y) Стенд для MoveTo: Переместить курсор в положение, верхний регистр M абсолютный, строчный m относительный Команды moveto сопровождаются координатами X, Y.

L или l (X, Y) обозначает LineTo: Рисует линию от текущей позиции до позиции, указанной X, Y. Прописные буквы означают абсолютные координаты, строчные - относительные координаты.

H или h (X) обозначает горизонтальную линию: Рисует горизонтальную линию от текущей позиции курсора до позиции, указанной X. Если после команды несколько координат X, это рассматривается как ломаная линия. Координата Y остается неизменной.

V или v (Y) обозначает VerticalLineTo: Рисует вертикальную линию от текущей позиции курсора до позиции, заданной Y. Если после команды несколько координат Y, это рассматривается как ломаная линия. Координата X остается неизменной.

Z или z ClosePath: Рисует линию от текущей позиции курсора до начальной позиции пути. Не имеет никаких параметров.

C (абсолютное) c (относительное) для кривой к: Рисует кубическую кривую Безье из текущей точки в (x, y), используя (x1, y1) в качестве контрольной точки в начале кривой и (x2, y2) как контрольная точка в конце кривой. C (верхний регистр) указывает, что абсолютные координаты будут следовать; c (нижний регистр) указывает, что будут следовать относительные координаты. Для рисования многоangularьника можно указать несколько наборов координат. В конце команды новая текущая точка становится последней (x, y) координатной парой, используемой в полибезье. изображение того, как использовать C

S (абсолютное) s (относительное) для сокращенной/гладкой кривой до: Рисует кубическую кривую Безье от текущей точки до (x, y). Предполагается, что первая контрольная точка является отражением второй контрольной точки в предыдущей команде относительно текущей точки. (Если предыдущей команды нет или предыдущая команда не была C, c, S или s, предположим, что первая контрольная точка совпадает с текущей точкой.) (X2, y2) - вторая контрольная точка (т.е. контрольная точка в конце кривой). S (верхний регистр) указывает, что будут следовать абсолютные координаты; s (нижний регистр) указывает, что будут следовать относительные координаты. Для рисования многоangularьника можно указать несколько наборов координат. В конце команды новая текущая точка становится последней (x, y) координатной парой, используемой в полибезье.

Для более основной идеи обратитесь к этой ссылке https://medium.com/@ali.muzaffar/understanding-vectordrawable-pathdata-commands-in-android-d56a6054610e#.g4gbz1r5p

Вот хороший отзыв тоже. ссылка