SUP, ребята. Мне удалось заставить мой код делать то, что я хочу, с помощью const Lines
. Моя главная проблема в том, что я пытаюсь получить значение stroke
, которое соответствует правильному значению points
. Как вы можете сказать, мой скрипт анализирует SVG с этого URL и отправляет каждое значение points
с пост-запросом. Могу ли я в любом случае получить соответствующее значение stroke
, когда оно получит значение points
? Чем использовать это с запросом так же, как l: (JSON.stringify(line))
? Таким образом, он отправит line
с соответствующим значением stroke
в запросе ?? Значение Stroke
должно быть в формате HEX при отправке запроса так же, как оно отображается в штрихе: ПРИМЕР #30f011
.
Кроме того, возможно, в конечном итоге сможет сделать другие атрибуты, как это? Если нужно, скажем, stroke-Width
?
В моем скрипте вы можете видеть в запросе, где я добавил stroke
. Это странно форматирует шестнадцатеричный код и получает только первое значение stroke
, и не более того. Он остается прежним ??
xhr=new XMLHttpRequest();
xhr.open("GET", "http://colorillo.com/bwf7.inline.svg");
xhr.addEventListener("load", function() {
const xmlDoc = new DOMParser().parseFromString(
this.responseText.trim(),
"image/svg+xml"
);
const Lines = Array.from(xmlDoc.getElementsByTagName('polyline'), pl =>
pl.getAttribute('points').split(' ').map(pair =>
pair.split(',').map(Number)));
const styles = Array.from(xmlDoc.getElementsByTagName('polyline'), pl =>
pl.getAttribute('style').split(';'))[0];
let stroke = null;
for(let style of styles) {
let valueOffset = style.indexOf(':');
if(style.substr(0, valueOffset).trim() === 'stroke') {
stroke = style.substr(valueOffset + 1).trim()
break;
}
}
Lines.forEach(line => $.post("/draw.php?ing=_index", {
l: (JSON.stringify(line)),
w: ("1"),
c: (stroke), //Only seems to get the first HEX value of line. and that's it.... I need all for each matching ``line``
o: ("75"),
f: ("1"),
_: ("false")
}));
});
xhr.send();