LINUX.ORG.RU

fabric.js Нарисовать сектор круга

 ,


1

1

Казалось бы простая фича. На чистом канвас без проблем arc и т.д..

Но как это сделать на fabric.js

Да В новой версии можно задавать startAngle:и endAngle: объекту fabric.Circle

Но при этом получится дуга, а не сектор

Вообщем через path это делать нет никакого желания и разбираться с синтаксисом path

Как средствами fabric.js нарисовать сектор ?

Ну или может можно преобразовать из canvas getContext(2d) в fabric.js ?


Ответ на: комментарий от static_lab

Ну возможно Но на деле мне надо выводить произвольные секторы от 0 до 360

И вот группу можно при этом легко отцентрировать с помощью originX: ‘center’, originY: ‘center’,

Ну и фактически у меня в группе несколько Circle Один 360 другой допустим 45

Надо выводить сектор вот этого 45

А вот с треугольником снова вылазят сложности с вычислением его вершины при использовании originX: ‘center’, originY: ‘center’

То есть навряд ли это удобное решение в моем случае

mirek
() автор топика

если тебе за 2 минуты наговнокодить, можешь варьировать радиус круга от нуля до максимума и нарисовать кучу эти дуг, получится сектор

анонимус

херни не посоветую

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

Вариант плохой

Я нашел несколько решений. И одно меня устраивает

Но вот например общая проблема У меня общий зум канваса больше 10

Например пробовал через StaticCanvas

На нем рисовал через Context(2d) А потом делал из него паттерн и заливал этим паттерном Circle

Так вот изображение на Circle почему-то размазывает очень сильно

Ну я на это плюнул И нашел вариант без паттерна и без StaticCanvas

Так вот и та же проблема)

И оказывается если элементу группы задать left и top то происходит этот глюк

Ну и на счет ваианта с StaticCanvas все равно еще в чем-то проблема из-за Зума > 10

А уж вариант с треугольником точно максимально сложный вариант с учетом originX: ‘center’, originY: ‘center’ и выравниванием положения треугольника в группе и плюс к этому большой ЗУМ

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

зум

И оказывается если элементу группы задать left и top то происходит этот глюк

размазывает

эм, я не шарю за эти ваши fabric, вебню и прочие флаттеры, но видимо у тебя попросту left и top тоже скейлятся. Центрирую фигуру перед скейлом, а потом назад ее дергай.

Анонимус

Херни не посоветую

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.