Можно ли замаскировать два изображения, используя ткань js?Маска двух изображений с использованием ткани js
Например: у меня цветная форма (сердце). У меня есть другие изображения, и я хочу замаскировать его над сердцем, чтобы этот новый образ отображался только как сердце. Я могу перемещать второе загруженное изображение и изменять его размер, чтобы получить желаемую область в этом сердце.
Оба изображения представляют собой загруженные пользователем изображения, а не один из этих прямоугольников или квадратов, которые создаются с использованием ткани, а также перетаскивают и изменяют размер изображения, как в примере jsfiddle.
http://jsfiddle.net/Jagi/efmbrm4v/1/
var canvas = new fabric.Canvas('myCanvas');
var clippingRect = new fabric.Rect({
left: 0,
top: 0,
width: 100,
height: 100,
fill: 'transparent',
opacity: 1
});
canvas.add(clippingRect);
function handleImage(e) {
var reader = new FileReader();
reader.onload = function (event) {
var img = new Image();
img.onload = function() {
var instanceWidth, instanceHeight;
instanceWidth = img.width;
instanceHeight = img.height;
var imgInstance = new fabric.Image(img, {
width: instanceWidth,
height: instanceHeight,
top: (canvas.getHeight()/2 - instanceHeight/2),
left: (canvas.getWidth()/2 - instanceWidth/2),
originX: 'left',
originY: 'top'
});
canvas.add(imgInstance);
imgInstance.clipTo = function (ctx) {
ctx.save();
ctx.setTransform(1, 0, 0, 1, 0, 0);
ctx.rect(
100, 100,
200, 200
);
ctx.restore();
};
canvas.renderAll();
};
img.src = event.target.result;
};
reader.readAsDataURL(e.target.files[0]);
}
мне нужно именно это, но с двумя пользовательскими изображениями (пользователь загрузил изображения).