LINUX.ORG.RU

Нужен редактор .svg (не Inkscape)

 , ,


0

2

Inkscape считает слои группами. Нельзя сделать такую группу, чтобы у неё разные части лежали в разных слоях (у меня не получается).

Нужен другой редактор, который работает со слоями более удобно. В формате .svg слоёв нет. Вот пусть редактор какой-нибудь атрибут добавляет, и с ним работает.

Я хочу в одном слое нарисовать квадратики для серверов, в другом слое квадратики для операционных систем, в третьем слое нарисовать приложения, в четвёртом слое связать приложения TCP-соединениями.

А Inkscape мне так не даёт.

★★☆

Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

Он знает про этот формат на порядок больше 99.9% человеков в мире и 99.8% разработчиков. Его ответ, что того что ты хочешь нет в природе и быть не может, согласно SVG формату совершенно корректен. А если будет, то это уже не будет SVG формат. Так что текстовой редактор и python тебе в помощь. Будешь новый формат изобретать на основе SVG и редактор для него пилить, благо SVG это текстовой файл внутри.

peregrine ★★★★★
()
Ответ на: комментарий от Einstok_Fair

Это чтобы вы знали, что RazrFalcon сведущ «что такое svg».

anonymous
()
Ответ на: комментарий от peregrine

это уже не будет SVG формат.

Ну да, пусть это будет не SVG, а SVG с дополнительным атрибутом.

Если Firefox будет его отображать, то меня не волнует, какие там будут расширения.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

Нельзя сделать такую группу, чтобы у неё разные части лежали в разных слоях

Вот это можно по-русски написать?

Редактор SVG под линукс ровно один - Inkscape. Можно конечно попробовать Illustrator под виндой, но он стрёмный SVG генерирует.

RazrFalcon ★★★★★
()
Ответ на: комментарий от Einstok_Fair

Если Firefox будет его отображать

Не будет. Он и корректные SVG V1 не все отображает, как собственно и весь софт для работы с ним.

peregrine ★★★★★
()
Последнее исправление: peregrine (всего исправлений: 1)

sK1?

Но я без понятия подходит ли он под все твои требования, или же только под одно (не Inkscape).

EXL ★★★★★
()
Ответ на: комментарий от RazrFalcon

Нельзя сделать такую группу, чтобы у неё разные части лежали в разных слоях

Вот это можно по-русски написать?

Я хочу, чтобы у объектов был какой-то атрибут, значение которого поделило бы все объекты на слои.

Тогда можно будет (теоретически) написать редактор, который размещает эти объекты в разных слоях, и позволяет проводить операции с группами объектов, расположенных в нескольких слоях сразу.

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

Такое только вручную можно сделать. Добавляем JS в SVG и делаем там с ним что угодно (в надежде что браузер это нормально обработает). Ну и это только для своего сайта сгодится, ибо многие сайты/хостинги вырубают script в SVG.

Но задачу я так и не понял. Не ясно что вы подразумеваете под слоем и что конкретно вы хотите с ним делать. Может и чистого SVG хватит.

RazrFalcon ★★★★★
()

Нельзя сделать такую группу, чтобы у неё разные части лежали в разных слоях

Ты заблокировал слой от редактирования и пытаешься передвинуть группу в которой есть объект с этого слоя. Что делать редактору?

mogwai ★★★★★
()
Ответ на: комментарий от RazrFalcon

Не ясно что вы подразумеваете под слоем

В Inkscape слои - это такие группы объектов верхнего уровня. Все группы вообще образуют дерево.

А я хочу, чтобы было не одно дерево, а две разновидности групп (слои и собственно группы), одна «по слоям» (в глубину, как в z-order), а вторая как сейчас есть.

Тогда каждый объект будет входить не только в группу, но и в слой одновременно.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от mogwai

Ты заблокировал слой от редактирования и пытаешься передвинуть группу в которой есть объект с этого слоя. Что делать редактору?

Не перемещать, подсвечивать заблокированные элементы, индицировать список блокирующих слоёв.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

Или пользователь хотел передвинуть всё в этой группе, что лежит на текущем слое, не трогая объекты на заблокированном?

mogwai ★★★★★
()
Ответ на: комментарий от RazrFalcon

Слои и группа - это одно и то же.

Да. В Inkscape.

Поэтому в inkscape такое сделать нельзя.

Да. Поэтому я прошу другой редактор, в котором это не одно и то же.

Конечная цель какая?

Иметь возможность создавать группы, включающие в себя объекты, находящиеся в разных слоях.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от mogwai

Тогда пусть выделяет только объекты текущего слоя и развыделяет объекты заблокированных слоёв (ему их как раз подсветили)

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

Иметь возможность создавать группы, включающие в себя объекты, находящиеся в разных слоях.

Я такие редакторы не встречал. Это какая-то уж слишком специфичная задача.

RazrFalcon ★★★★★
()
Ответ на: комментарий от anonymous

Отберём из списка редакторы под свободными лицензиями и для Linux,
отсортируем по поддерживаемости и дате,
останутся:

LibreOffice Draw Windows, macOS, Linux, Android 2011 2019 [6.2.1] Поддерживается Mozilla Public License
OpenOffice Draw Windows, macOS, Linux 2001 2018 [4.1.6] Поддерживается Apache 2.0
Inkscape Windows, macOS, Linux 1999 2019 [0.92.4] Поддерживается GNU GPL
Krita Windows, macOS, Linux 2005 2018 [4.1.7] Поддерживается GNU GPL
Synfig Windows, Linux 2005 2019 [1.3.11] Поддерживается GNU GPL
Xara Windows, macOS, Linux 1995 2006 / 2018 [16.0] Поддерживается Проприетарная, GNU GPL
sK1 Windows, Linux 2009 2018 [RC 4] Перезапуск GNU GPL
Alchemy Windows, macOS, Linux 2008 2010 [0.0.8] Не поддерживается GNU GPL
Dia Windows, Linux 1998 2011 [0.97.2] Не поддерживается GNU GPL

В LibreOffice Draw я вижу команду для добавления слоя, но не вижу как со слоями работать.

Теперь посмотрим, что из этого опакечено:
http://gpo.zugaina.org/media-gfx/krita
synfig - не в дереве, и по описанию на редактор не похоже
http://gpo.zugaina.org/media-gfx/sK1

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

Спасибо.

Зачем ты всех запутал? По твоим ответам чётко видно, что ты хорошо разбираешься как в устройстве svg-файла, так и в том, как происходит парсинг svg (DOM) в редакторах. Группа - объект svg. Атрибут - свойство объекта, которое никак не станет объектом. А ты пытаешься каким то суперизващённым способом приравнять атрибут и объект, так чтобы редактор работал с атрибутом, как с объектом. Не с той ноги сегодня чтоле встал?

anonymous
()
Ответ на: комментарий от anonymous

А ты пытаешься каким то суперизващённым способом приравнять атрибут и объект, так чтобы редактор работал с атрибутом, как с объектом.

Нет, я хочу, чтобы редактор на основе значений атрибутов создал «слои». Т.е. каждому уникальному значению атрибута - свой слой. А если у нескольких объектов значение атрибута одинаковое, то такие объекты должны попадать в один и тот же логический «слой». И чтобы редактор позволял слои редактировать.

Слои не должны сохраняться в svg как элементы xml или как атрибуты xml (значения атрибутов и сами атрибуты - не одно и то же), но слои должны быть логическими объектами для пользователя во время работы программы.

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 2)
Ответ на: комментарий от Einstok_Fair

слои должны быть логическими объектами для пользователя во время работы программы.

Важный вопрос тогда: Как редактор в этом случае должен построить дерево объектов? Или должно быть два дерева и переключение между ними?

anonymous
()
Ответ на: комментарий от anonymous

нет, это должно быть не просто дерево, а декартово произведение дерева (объектов) и множества (слоёв). Более сложная структура. Для этой стурктуры редактор должен определять операции редактирования. И предоставлять пользователю пользовательский интерфейс для выполнения таких операций.

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от Einstok_Fair

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

Хотелки отставить! Ещё раз повторяю вопрос: Редактору понадобится для работы дерево объектов, причём простое. Как ему работать с той мутью, что ты предлагаешь?

anonymous
()
Ответ на: комментарий от anonymous

Редактору понадобится для работы дерево объектов, причём простое. Как ему работать с той мутью, что ты предлагаешь?

Нет, редактору потребуется более сложная структура. Либо если редактор так не может, то мне такой редактор не подойдёт.

Хотелки отставить!

Почему же?

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от Einstok_Fair

Почему же?

Потому что ты не отвечаешь на очевидные вопросы. Вместо ответов, ты пропихиваешь свои хотелки.

anonymous
()
Ответ на: комментарий от anonymous

ты пропихиваешь свои хотелки.

Да, это была изначальная цель топика - пропихнуть мои хотелки.

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от EXL

sK1?

Ещё более мимо, чем инкскейп :)

AP ★★★★★
()

Yed

там можно выделить группу и отправить по индексу выше или ниже

deep-purple ★★★★★
()
Последнее исправление: deep-purple (всего исправлений: 1)
Ответ на: комментарий от enep

Хотя чем, inskscape, тебя не устроил ?

Ты, просто, не, читал, пост.

AP ★★★★★
()

Boxy SVG - умеет слои, группы, умеет сохранять и мета-информацию в SVG (имя объекта, id, классы и т.д.)

neocrust ★★★★★
()
Ответ на: комментарий от Einstok_Fair

Мне всегда казалось, что в Snapcraft только бесплатный софт представлен. Хотя наверное это было бы странно, учитывая не бесплатность Boxy SVG под Win/Mac. В любом случае, я бы попробовал поставить.

Попробуй Figma. Как векторный редактор она довольно хороша, но не умеет сохранять мета-информацию. Слои, группы и всё базовое умеет.

neocrust ★★★★★
()
Последнее исправление: neocrust (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.