Могут ли две маски слоя jcanvas существовать на одном холсте?
Можно ли создать две независимые маски слоя на одном холсте? Я пытался без особого успеха. Я подозреваю, что это из-за масок, влияющих на индексы слоев. Я выделил это, включив маскирование при наведении курсора ( см. Здесь). Если навести указатель мыши на маску слоя, маски других слоев исчезнут. Если вы рисуете слой с mask:true
в качестве свойства появится только одна маска слоя. Вы можете подумать "почему бы не сделать отдельный холст для каждой маски слоя?" Я не могу, потому что я собираюсь использовать $("canvas").getCanvasImage();
визуализировать холст в виде составного JPEG (что было бы трудно с двумя холстами).
Конечной целью будет холст, разделенный вертикально на две панели. Каждая панель будет заполнена перетаскиваемым изображением. Пользователи будут перемещать изображение на панели, чтобы "обрезать" его, а затем отображать результат как составное изображение. Этот пример близок, но перетаскивая зеленую рамку под правую панель, вы создаете мертвое пространство на этой панели.
Спасибо за вашу помощь.
1 ответ
Да, теперь это возможно с jCanvas. Просто не забудьте позвонить restoreCanvas()
метод всякий раз, когда вы хотите восстановить маску, например, так:
$("canvas").restoreCanvas({
layer: true
});
Вот пример, который я сделал, который использует две маски, чтобы разделить холст на две панели.