Как получить значение координат 4, X, Y прямоугольника FabricJS

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

var rect = new fabric.Rect({
  left: 100,
  top: 100,
  fill: 'rgba(51, 152, 219, 0.3)',
  width: 20,
  height: 20
});

Но проблема в данных JSON. FabricJS отслеживает только координаты top-left corner X, Y . Но мне нужно получить координаты всех четырех углов X, Y и координаты двух углов для формы line .

Note: Shape may have a different angle than 90

2
de
Отслеживает ли FabricJs ширину и высоту?
добавлено автор trixo, источник
вверху справа = x + ширина, внизу слева = y + высота
добавлено автор Rory McCrossan, источник
@MDRobinIslam это правильно.
добавлено автор Rory McCrossan, источник
@RoryMcCrossan этот метод не будет работать с фигурами с углом, отличным от 90 градусов.
добавлено автор MD Robin Islam, источник
@trixo Да FabricJS отслеживает ширину и высоту, но поскольку формы могут иметь угол, отличный от 90 градусов, простое добавление x + width и y + height не сработает. Можно использовать математику, но я хотел знать, есть ли что-нибудь, что предлагает FabricJS из коробки.
добавлено автор MD Robin Islam, источник

1 ответы

Вы пробовали oCoords / aCoords ?

Это свойство должно возвращать все углы с применением поворота

http://fabricjs.com/docs/fabric.Rect.html#oCoords

http://fabricjs.com/docs/fabric.Rect.html#aCoords

<�Сильный> Обновление

Поскольку вы хотите сохранить координаты для извлечения и отрисовки прямоугольника обратно из данных БД, я думаю, что лучше хранить не 4 угловые координаты, а слева, сверху, ширину, высоту, угол, масштаб? Так что вы можете создать прямоугольник в зависимости от этих свойств. Если вам это не нужно для использования в Fabricjs, вы можете использовать oCoords , о котором я упоминал ранее.

getCoords method is also the option to use

http://fabricjs.com/docs/fabric.Rect.html#getCoords

0
добавлено
Большое спасибо! getCoords это именно то, что я искал.
добавлено автор MD Robin Islam, источник
JavaScript Jobs — чат
JavaScript Jobs — чат
8 336 участник(ов)

JavaScript Jobs — чат для поиска работы и людей Правила оформления: https://teletype.in/@telegram-ru/r1WQe5F1m См. также: @mobile_jobs, @devops_jobs, @nodejs_jobs, @react_js, @angular_ru, @js_ru

JavaScript.ru
JavaScript.ru
7 932 участник(ов)

Сообщество сайта JavaScript.ru в Slack.

pro.js
pro.js
4 675 участник(ов)

Про JavaScript и NodeJS Invite: https://t.me/joinchat/Be4rsT5Rsgq30DHutjxXgA Правила: http://telegra.ph/ru-chat-rules-06-19 Вакансии только с ЗП, не чаще раза в неделю.

Верстка сайтов HTML/CSS/JS/PHP
Верстка сайтов HTML/CSS/JS/PHP
3 439 участник(ов)

Правила группы: напишите !rules в чате. Группа Вк: vk.com/web_structure Freelancer: @web_fl Веб Дизайн: @dev_design Маркетолог: @topmarkening Автор: @M_Boroda

JavaScript — русскоговорящее сообщество
JavaScript — русскоговорящее сообщество
3 269 участник(ов)

Рекомендуем сразу отключить уведомления Правила: https://rudevs.network/ByaMH6un7 См. также: @js_noobs_ru, @nodejs_ru, @typescript_ru, @react_js, @electron_ru Вакансии и поиск работы: @javascript_jobs

JavaScript Noobs — сообщество новичков
JavaScript Noobs — сообщество новичков
2 484 участник(ов)

Чат для новичков

javascript_ru
javascript_ru
915 участник(ов)

Сообщество любителей самого популярного языка программирования в мире. Чат основан в 2009 году. Логи: https://goo.gl/9EOeM7 Поддержка бота: @chat_linker (ссылка на репу внутри) Вам будут интересны @frontend_ru и @css_ru

jsChat
jsChat
603 участник(ов)

Чат посвященный программированию на языке javaScript Перед отправкой ссылки на Ваш контент посоветуйтесь с админом Все ссылки удаляются ботом автоматически

JavaScript for Zombies Chat
JavaScript for Zombies Chat
492 участник(ов)

Чат про JavaScript для настоящих zombie! Вход строго по приглашениям! Ссылка для строгих приглашений: https://t.me/joinchat/AAMBHz3Uyr0tuZ7VaB029g

All That JS
All That JS
417 участник(ов)

JS на русском

Infernal Math
Infernal Math
389 участник(ов)

http://www.zepta.ru/index.php?title=Заглавная_страница Приглашение в чат: https://t.me/matheden

comput.math
comput.math
289 участник(ов)

Прикладная математика и численные методы. Без оффтопа, рекламы, флуда. Вышмат: @higher_math Физика: @physpub Новичкам: @starter_math @JuliaLanguage @rlang_ru Книги брать здесь: libgen.io И по хештегу #book

higher.math
higher.math
234 участник(ов)

Higher mathematics / высшая математика Подборка книжек: https://ru.stackoverflow.com/a/683632/1084 Вычмат: @comput_math Физика: @physpub LaTeX: @pro_latex

Starter Math
Starter Math
79 участник(ов)

Для тех, кто боится спросить в @higher_math Вычмат: @comput_math Физика: @physpub