Штрих — Векторное Изображение С Фиксированной Шириной Линии.

  • Автор темы Lugansk_plit42
  • Обновлено
  • 22, Oct 2024
  • #1

Я хотел бы создать/экспортировать векторное изображение с фиксированной шириной линий независимо от уровня масштабирования. vector-effect="non-scaling-stroke" in an SVG image, which makes the line width independent of my transformations. But that is not what I want. I need to create an image file that I can send to someone else, while he/she can open it in web/pdf/image browser, zoom in, while keeping the line width fixed.

Я уже нашел возможность использовать

штрих — векторное изображение с фиксированной шириной линии.

Пример: у меня есть это изображение:

штрих — векторное изображение с фиксированной шириной линии.

Что я хочу после увеличения в 10 раз в браузере/просмотрщике PDF:

штрих — векторное изображение с фиксированной шириной линии.

Что я получил вместо этого:

Я борюсь с этим довольно долго, поэтому мне интересно, возможно ли это вообще? Я понимаю, что с растровыми изображениями это в принципе невозможно, а с векторными нет способа добиться этого?

Lugansk_plit42


Рег
25 Oct, 2024

Тем
76

Постов
198

Баллов
598
  • 26, Oct 2024
  • #2

Спецификация PDF не имеет такой возможности. PDF — это формат подготовки к печати/архивирования/wysiwyg. Он просто не предназначен для этого варианта использования.

Как уже говорили другие, svg-файлы в браузере обладают этим свойством. Но это не универсальная вещь, работающая во всех средствах визуализации SVG. Браузеры особенно гибки, поэтому при желании вы можете даже сделать их тоньше при увеличении масштаба.

 

BigTixAdvig97


Рег
25 Oct, 2024

Тем
55

Постов
178

Баллов
463
  • 26, Oct 2024
  • #3

Я наконец решил это. Используя информацию из комментариев и ответа @joojaa, я пришел к выводу, что PDF — не вариант. Я сосредоточился на SVG и смог добиться результата, используя встроенный блок CSS с

 <svg xmlns...">

<style>

path { stroke-width: 0.1vw; }

</style>

...
 
property. However, this is not enough to achieve the wanted behavior in the browser.

Ключевым моментом является установка ширины обводки в единицах окна просмотра. Пример:

stroke-width

Это решение работает для Chrome, Firefox и Opera. Это не работает для IE (он игнорирует встроенный стиль), но я думаю, это вопрос для другого сообщества.

 

Sery2013


Рег
26 Oct, 2023

Тем
71

Постов
191

Баллов
596
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно