Я использую oCanvas для создания треугольников, которые маскируют изображения, каждый треугольник маскирует другое изображение. Проблема, с которой я сталкиваюсь, заключается в том, что когда я маскирую эти треугольники, они скрывают все, что находится за ее пределами, поэтому последний треугольник маскирует треугольники под ним. Есть ли способ избежать отображения прозрачности в другом месте? Я полагаю, что это делает наоборот, что «xor» делает в globalCompositeOperation.oCanvas masking с несколькими экранными объектами
Вот мой код:
var canvas = oCanvas.create({
canvas: "#canvas",
background: "#0cc"
});
var center = canvas.display.ellipse({
x: canvas.width/2, y: canvas.height/2,
radius: canvas.width/3,
fill: "#fff"
}).add();
var radius = canvas.width/3;
var x = canvas.width/2;
var y = canvas.height/2;
var image = canvas.display.image({
x: 0,
y: 0,
origin: { x: "center", y: "top" },
image: img,
rotation: 120
});
center.addChild(image);
var triangle = canvas.display.polygon({
x: -canvas.width/3,
y: -canvas.width/6,
sides: 3,
radius: 70,
fill: "#0aa",
rotation: 30,
composition:"destination-atop"
});
center.addChild(triangle);
var image1 = canvas.display.image({
x: 0,
y: 0,
origin: { x: "center", y: "top" },
image: img,
rotation: 180
});
image1.scale(-1, 1);
center.addChild(image1);
var triangle1 = canvas.display.polygon({
x: 0,
y: -canvas.width/3,
sides: 3,
radius: 70,
fill: "#aaa",
rotation: 90,
composition:"destination-atop"
});
center.addChild(triangle1);
Все мои треугольники и изображения отображаются правильно, если я не использую композиции, но когда я использую состав: «места назначения на вершине» делает то, что я хочу сделать, но она скрывает независимо от того, что находится за пределами треугольника.
Благодарим за помощь!