Nano Hash - криптовалюты, майнинг, программирование

SVG: как создать самонастраивающийся контейнер для текста

На самом деле это два связанных вопроса. Я хотел бы создать изображение страницы из блокнота с некоторым переменным текстом на нем в SVG.

Предоставляет ли SVG какие-либо встроенные возможности переноса текста или мне как-то нужно вычислять горизонтальную ширину слов и самостоятельно разбивать строки текста? Как я могу это сделать?

Предоставляет ли SVG какой-либо собственный способ автоматического переноса текста в контейнер? Или мне нужно рассчитать вертикальную высоту блока текста и самому установить высоту контейнера? Как я могу это сделать?

Изменить: если это уместно, я буду создавать строку SVG на C#.

06.01.2012

Ответы:


1

В SVG 1.1 нет возможности переноса текста, хотя она рассматривается в будущей спецификации SVG 2.0. SVG DOM позволяет получить ширину текста с помощью getComputedTextLength.

Вы можете вычислить ограничивающую рамку блока текста, вызвав getBBox.

06.01.2012
  • Спасибо. Так вы говорите, что я могу сделать этот расчет только тогда, когда SVG отображается в браузере? Нет способа рассчитать отображаемую ширину текста, пока строка SVG собирается на сервере? 06.01.2012
  • Существуют библиотеки, которые могут позволить вам получить доступ к SVG DOM из C#, например sourceforge.net/projects/svgdomcsharp но сам я их не пробовал. 06.01.2012
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..