2015-02-11 2 views
0

Я хотел бы иметь накладку, которая не над этикеткой и имеет ту же форму, что и узел, на котором он включен. Как я могу расширить cytoscape.js или повторно использовать существующую функцию, чтобы сделать это?Как изменить форму и z-индекс наложения в cytoscape.js?

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

node with a border of 10px

ответ

1

Граница является штрихом в полотне. Вот как работает API в браузере, и этот API используется для создания визуализации Cy.js.

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

Что касается наложения: Нет, это невозможно сделать в общем виде. Для некоторых фигур было бы достаточно нарисовать форму тела узла в качестве наложения, но с просто большим размером, но это не работает для фигур, таких как triangle.

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

Если вы действительно хотите, я могу указать вам в сторону кода для изменения.

Редактировать: Или может быть (новый) border-z-order стиль собственности или аналогичный будет работать на вас? Если ваши узлы непрозрачны, то наличие границы позади не требует отсечения ...

+0

Я понял, что то, чего я пытаюсь достичь, на самом деле было теневым эффектом. Форма, нарисованная за моей фактической формой. Я добавил, что все это добавлено в cytoscape (выяснили, как добавить свойство нового стиля - теневую непрозрачность и т. Д.) И все это похоже на работу. Пока я не прочитаю ваш ответ: для какой-то формы, просто делающей ее больше, не совсем трюк! – Melanie

+0

И чтобы ответить на ваш вопрос, да, мои формы непрозрачны. – Melanie

+0

Теперь я понял, что в холсте есть свойство shadowBlur, которое я мог бы использовать для достижения эффекта, который я хочу! Считаете ли вы, что стоило бы вносить свойства теней в cytoscape? – Melanie

Смежные вопросы