You have encountered async problems . The code makes external requests for images, and the callback structure must be implemented.
I'm not sure what exactly you want the image to look like ... but I changed the structure of your code to make it work.
, : , , . .
var canvas = new fabric.Canvas('c1');
fabric.Image.fromURL('https://upload.wikimedia.org/wikipedia/commons/c/c6/Grey_Tshirt.jpg', function(oImg) {
canvas.add(oImg);
var filter = new fabric.Image.filters.Blend({
image: oImg,
mode: 'multiply',
alpha: 0.3
});
fabric.Image.fromURL('https://upload.wikimedia.org/wikipedia/en/a/a9/Example.jpg', function(zImg) {
zImg.filters.push(filter);
zImg.applyFilters(canvas.renderAll.bind(canvas));
canvas.add(zImg);
},{crossOrigin: ''});
},{crossOrigin: ''});
heres the : https://jsfiddle.net/5Lg7nos6/2/