2013-05-14 2 views
0

Возможно ли создать две независимые от слоя слоистые маски на одном холсте? Я пробовал, без особого успеха. Я подозреваю, что это связано с масками, влияющими на индексы слоев. Я выделил это, включив маскировку при наведении курсора мыши (see here). Если вы наведете маску слоя, маски других слоев исчезнут. Если вы нарисуете слой с mask:true в качестве свойства, появится только одна маска слоя. Возможно, вы думаете: «Почему бы не сделать отдельный холст для каждой маски слоя?» Я не могу, потому что я намерен использовать $("canvas").getCanvasImage(); для рендеринга холста как составного jpeg (что было бы сложно с двумя холстами).Может ли на одном холсте существовать две маски слоя jcanvas?

Конечная цель - полотно, разделенное вертикально на две панели. Каждая панель будет заполнена перетаскиваемым изображением. Пользователи будут перемещать изображение в панели, чтобы «обрезать» его, а затем отобразить результат как составное изображение. Пример This приближается, но перетаскивание зеленой рамки под правой панелью создает в этой области мертвое пространство.

Спасибо вам за помощь.

ответ

0

Да, теперь это возможно с помощью jCanvas. Просто убедитесь, что вызов метода restoreCanvas() всякий раз, когда вы хотите восстановить маску, например, так:

$("canvas").restoreCanvas({ 
    layer: true 
}); 

Вот an example I made, который использует две маски, чтобы разделить полотно на две панели.