Измерение сгенерированной стороны сервера svg

Я работаю над проектом, в котором сложные визуальные эффекты создаются на сервере в svg для отображения в браузере. Одна проблема, с которой я столкнулся, связана с макетом текста. В некоторых случаях я динамически генерирую текст в текстовом элементе svg, но мне нужно знать, какого он будет размера при рендеринге.

Есть еще несколько похожих вопросов о переполнении стека:

Измерение размеров элементов SVG в Angular

Измерение размеров текста SVG без рендеринга

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

Большое спасибо за помощь заранее.

Пожалуйста, опишите, зачем вам нужна измерительная серверная часть. Если это макет чего-то, что будет отображать только клиент, это всегда работа на стороне клиента.

ccprog 31.10.2018 00:47

Я полностью понимаю ваши рассуждения. Это устаревшая система, взаимодействие с сетью было взломано путем запуска приложения, которое было разработано для локального запуска на сервере, и передачи графического вывода через svg. Было бы ценно решение проблемы измерения svg. Попытка запустить больше приложений в браузере - это привлекательно, но, вероятно, это более дорогой / долгосрочный проект.

cclauson 04.11.2018 07:01

Позвольте мне перефразировать: в браузере измерение визуализированного текста - это одна строка Javascript, тогда как на сервере это сложная догадка (потому что вы предполагаете, но не знаете, какой шрифт будет использоваться, насколько широким будет каждый отдельный глиф, как частичные значения пикселей округляются, будет ли текст перемещен для оптимизации сглаживания ...). Таким образом, если измерение может производиться на стороне клиента каким-либо разумным способом, это всегда будет предпочтительнее. - Тем не менее, возможно, это даст вам приблизительную оценку: stackoverflow.com/questions/47426768

ccprog 04.11.2018 16:47
Создание фильтров для вашего сайта
Создание фильтров для вашего сайта
Фильтры - удобный инструмент в арсенале веб-дизайнера. Они позволяют изменять элементы на странице с помощью всего нескольких строк кода. Эти...
Анимация SVG-узоров без единой строки CSS
Анимация SVG-узоров без единой строки CSS
Недавно я работал над веб-проектом, который позволил мне поэкспериментировать с шаблонами SVG. С SVG очень приятно работать, как только вы получите...
Как использовать d3.js для рисования 2D SVG-элементов в приложении Angular?
Как использовать d3.js для рисования 2D SVG-элементов в приложении Angular?
D3.js - это обширная библиотека, используемая для привязки произвольных данных к объектной модели документа (DOM). Мы разберем основные варианты...
0
3
37
0

Другие вопросы по теме