#javascript #html5-canvas #fabricjs
#javascript #html5-canvas #fabricjs
Вопрос:
Я могу отлично рисовать фигуры на холсте. Но мой вариант использования заключается в том, что в моем интерфейсном интерфейсе есть нижняя навигация. Значит, я должен показать пример
- tab1 -> прямоугольник, строка
- tab2-> строка
- tab3-> rect
- поэтому, если я переключусь на tab2, я покажу, что были нарисованы только связанные с tab2 фигуры.
- Если я переключусь на tab3, я должен показать, что были нарисованы только связанные с tab3 фигуры. и т.д.
То, что я сделал, было ,
var objects = this.getCanvasObjects();
var clonedObjs = Array.from(objects);
вышеупомянутые «объекты» содержали все фигуры tab1, tab2 и т. Д
this.removeAllCanvasObjects();
Поскольку я скопировал целые объекты canvasobjects в clonedObjs, я удаляю все объекты.
// Я поставил некоторые пользовательские tabId перед рисованием фигуры
clonedObjs.foreach((value,index)=>{
if(value["tabId"]==currId){
// i will draw what ever the shape it may be .
drawRect;
}
})
но при вышеуказанном подходе фоновый объект canvas удаляется, поскольку я удаляю все объекты canvas перед тем, как приступить к рисованию.
Но как я могу повторно использовать объекты canvas, переключаясь между вкладками. Любые ответы приветствуются.
Комментарии:
1. Это неправильный способ задать вопрос о переполнении стека. Вопрос носит общий характер и не полностью связан с кодом. Итак, почему у вас не может быть холста для каждой вкладки?
2. @AndreaBogazzi спасибо за ответ . Конечно, я улучшу свои навыки опроса в stackoverflow. Возвращаясь к вашему вопросу, в пользовательском интерфейсе есть только один холст, внизу у нас есть вкладки. поэтому , если я нарисую любую фигуру на холсте , которая связана с tab1 , и если я переключусь на tab2 , любая фигура , которую я нарисовал , связанная с tab1 , должна быть удалена . Если я снова переключусь на tab1 , мне придется показать, какую фигуру я когда-либо рисовал на tab1. то же самое будет применимо для остальных вкладок.
3. Я предполагаю, что у вас есть 3 холста, и при размещении вкладок вы скрываете / показываете относительный холст вкладки.